![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кнопка диалога нажата - как словить?
e!dGe. © (2003-05-19 19:26:00)Например, если по кнопке кликнули:
Result := False;
case Msg o"
WM_COMMAND:
case LoWord(WPar) of
IdEdtChButtn:
case HiWord(WPar) of
BN_CLICKED: PopupChangeMenu;
end;
e!dGe. (2003-05-20 00:09:00) [1]Всем спасибо, тема закрыта.
e!dGe. (2003-05-19 23:36:00) [2]
> e!dGe. © (19.05.03 21:04)
> Можно, конечно, попробовать подменить её, чето не пробовал.
Чушь несете, батенька, зачем подменять, если уже..)
e!dGe. (2003-05-19 21:04:00) [3]DialogBox - все просто, с загрузкой из ресурса.
Оконная процедура - обычная DialogProc. Можно, конечно, попробовать подменить её, чето не пробовал.
Зато пробовал подменить оконную процедуру кнопки - нуль.
Чето вообще никак не пойму, что делать.
Ладно, седня если ещё зайду сюда - будет около 10 по Москве.
AlexRush (2003-05-19 20:37:00) [4]e!dGe. © (19.05.03 20:15)>> Хм.. Об этом я и не задумывался никогда. Вообще-то можно обрабатывать все события кнопки, как окна.
Приведи код, которым ты создаешь диалог. Как реализована оконная процедура ? Через TApplication или своя ?
e!dGe. (2003-05-19 20:15:00) [5]
> AlexRush © (19.05.03 20:03)
+Знаешь, ничего нового, к сожалению.
Вопрос в чем:
wNotifyCode
Value of the high-order word of wParam. Specifies the notification code if the message is from a control.
Нужен wNotifyCode, который посылается родителю, если я кнопку нажал, но не отпустил. Такого уведомления нет. Например, BN_CLICKED - уведомление о том, что по кнопке кликнули. А о том, что её нажали...?
AlexRush (2003-05-19 20:03:00) [6]e!dGe. © (19.05.03 19:26)>>
WM_COMMAND wNotifyCode = HIWORD(wParam);
wID = LOWORD(wParam);
hwndCtl = (HWND) lParam;
wNotifyCode - если 1, то сообщение от акселератора, если 0 - от контрола.
wID - идентификатор контрола(меню) или акселератора
hwndCtl - HWND окна контрола, или 0
case Msg of
WM_COMMAND: begin
case wID of
....
IDC_MYBUTTON: HandleMyButtonWmCommand();
end;
end;
end;