Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Как написать обработчик


Автор: Alca 26.1.2009, 16:29
Допустим я создаю кнопку ф-ей CreateWindow, не используя файл ресурсов (проект на чистом WinAPI).
Как мне написать обработчик нажатия мышкой (OnClick), как мне ловить это сообщение, знаю только хендл кнопки?
Код

switch (uiMsg) {
        case WM_COMMAND:  
            switch (LOWORD(wParam))    {
                case /*??? IDC_btnStart ???*/:    
                    vBtnStart_OnClick();
                    break;
                case IDC_btnStop:    
            }
            break;

Автор: Dem_max 26.1.2009, 16:56
Код

   hWndBtnSave = CreateWindow( _T("BUTTON"),
                              _T("Сохранить"),
                              WS_VISIBLE | WS_CHILD | BS_LEFT | WS_TABSTOP,
                              WIN_X - 246, WIN_Y - 60, 113, 23,
                              hWndMain,
                              (HMENU)IDB_SAVE,
                              hInstance,
                              NULL);


LRESULT CALLBACK MainWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{

   switch (msg)
   {
      HANDLE_MSG(hwnd, WM_COMMAND,        WM_OnCommand);
   }
}


void WM_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{

   switch (id)
   {                                                                                                   //
      case IDB_SAVE:
      {
         ////////////
      }break;
   }
}


Автор: Alca 26.1.2009, 17:13
Спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)