Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как обращаться к окнам созданным с помощью CreateWindow? [D6, WinXP]


Forelli ©   (2004-08-11 22:51:00) 

Создал кнопку CreateWindows'ом. Как присвоить этой кнопке определённое событие onClick?


nikkie   (2004-08-13 17:48:00) [1]

вот насоветовали...
какие-такие buttondown/buttonup, какие меню??

BN_CLICKED
The BN_CLICKED notification code is sent when the user clicks a button.

The parent window of the button receives the BN_CLICKED notification code through the WM_COMMAND message.


ZrenBy   (2004-08-12 10:45:00) [2]

1. SetWindowLong(hButton,GWL_ID,ID_MYBUTTON);

2. case WM_COMMAND:
    switch(LOWORD(wParam)){
     case ID_MYBUTTON:
          . . .
          break;
  . . .


KADAN   (2004-08-12 08:40:00) [3]

когда создаешь кнопку задать ей hMenu (к примеру 12345) затем в WndProc родительского окна обрабатывать сообщение WM_COMMAND (в WParam содержится заданное для контрола значение hMenu) если WParam = 12345 тогда вызвать процедуру onClick.

второй вариант: подменить у кнопки WndProc и обрабатывать WM_CLICK, но при этом самому придется запоминать ее текущую WndProc и вызывать ее из своей.


3APA3A   (2004-08-11 23:37:00) [4]

Перехватывающий код должен находится в процедуре окна. Примерно  так...

 case Msg of
   WM_LBUTTONDOWN : ...
   WM_RBUTTONDOWN : ...

 И т.д.


Dimaxx   (2004-08-11 23:00:00) [5]

Перехватывать все события WM_LBUTTONDOWN и WM_RBUTTONDOWN и отслеживать, что нажали именно нужную кнопку.


Наверх

Титульная страница Поиск, карта сайта Написать письмо