Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

WINAPI: Нажать на ToolButton. Срочно Help

1.9K
07 апреля 2003 года
Serbor
11 / / 06.10.2002
Имеется HWND окна приложения. Окно содержит один ToolBar.
Необходимо программно нажать на определёную кнопку этого ToolBar.

Отдельное спасибо, за ответ с кодом Delphi
1.9K
11 апреля 2003 года
Serbor
11 / / 06.10.2002
Цитата:
Originally posted by elan


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

Допустим Toolbar содержит 3 кнопки. Тогда

1. Нужно определить сообщение(глобальное):

const
SX_PUSH_BTN = WM_USER + 100;

2. Где-то в программе передать сообщение окну:

PostMessage(HWND, SX_PUSH_BTN1, 0, 0); //нажать первую кнопку
или
PostMessage(HWND, SX_PUSH_BTN1, 1, 0); //нажать вторую кнопку

3. В окне определить код обработки:

TForm1 = class(TForm)
.
.
.
private
procedure SXPushButton(var Msg: TMessage); message SX_PUSH_BTN
end;

procedure TForm1.SXPushButton(var Msg: TMessage);
begin
case Msg.WParam of
0: ... //вызвать обработчик первой кнопки
1: ... // -//- второй кнопки
else
... // -//- третьей кнопки
end;
end;

Когда-то я писал такой, и он работал, но учти,что я уже третий год не программирую на Delphi(:-).




А если это тулбар чужого окна?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог