Программирование PC Visual Studio C++: как добавить новое сообщение WM_DEVICECHANGE к MESSAGEMAP приложения Thu, November 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Visual Studio C++: как добавить новое сообщение WM_DEVICECHANGE к MESSAGEMAP приложения Печать
Добавил(а) microsin   

Процесс по шагам (на примере dialog-based приложения MFC).

1. Откройте cpp-файл, относящийся к классу Вашего диалога, и найдите там карту сообщений основного окна диалога. Будет что-то наподобие:

BEGIN_MESSAGE_MAP(CUsbHidDemoCodeDlg, CDialog)
   //{{AFX_MSG_MAP(CUsbHidDemoCodeDlg)
   ON_WM_SYSCOMMAND()
   ON_WM_PAINT()
   ON_WM_QUERYDRAGICON()
   //}}AFX_MSG_MAP
   ON_WM_TIMER()
   ON_WM_CLOSE()
END_MESSAGE_MAP()

Добавьте перед строкой END_MESSAGE_MAP новое сообщение:
    ...
 ON_WM_DEVICECHANGE()
END_MESSAGE_MAP()

2. Добавьте protected-функцию наподобие BOOL CUsbHidDemoCodeDlg::OnDeviceChange (UINT nEventType, DWORD dwData), которая будет привязана к нашему новому сообщению. Это можно сделать как с помощью визарда (выберите класс, Add -> Add Function...), так и вручную. Как это сделать вручную:

- откройте h-файл, относящийся к нашему классу.
- найдите декларацию класса class CUsbHidDemoCodeDlg : public CDialog
- найдите в нем раздел protected:
- добавьте в раздел protected: сразу после DECLARE_MESSAGE_MAP() объявление нашей функции:

 ...
 DECLARE_MESSAGE_MAP()
 BOOL OnDeviceChange(UINT nEventType, DWORD dwData);
 ...

- в cpp-файл класса CUsbHidDemoCodeDlg добавьте код тела функции OnDeviceChange:

BOOL CifrechostDlg::OnDeviceChange(UINT nEventType, DWORD dwData)
{
    ...
}

 

Комментарии  

 
+1 #1 MBT Shoes 11.11.2012 13:31
Добавляем перед строкой END_MESSAGE_MAP наше сообщение
Цитировать
 

Добавить комментарий


Защитный код
Обновить

Top of Page