15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Как программно сделать клик по кнопке.

Компилятор: C++ Builder 3.x

Для того, чтобы программно сделать клик по любому контролу в Window, достаточно послать ему эквивалентное сообщение мышки. Будьте осторожны и не посылайте слишком много сообщений одновременно, чтобы не переполнить буфер сообщений.

Пример:

void PressAButton(HWND h);

void TForm1::PressAButton(HWND h)
{
   PostMessage(h, WM_LBUTTONDOWN, 0 ,0);
   PostMessage(h, WM_LBUTTONUP, 0, 0);
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   PressAButton(Button2->Handle);
}

void __fastcall TForm1::Button2Click(TObject *Sender)
{
   ShowMessage("CLICK");
}