Главная arrow Программирование arrow PC arrow Visual Studio C++: как добавить новое сообщение WM_DEVICECHANGE к MESSAGEMAP приложения Monday, March 20 2023  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

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

Поделиться:

Visual Studio C++: как добавить новое сообщение WM_DEVICECHANGE к MESSAGEMAP приложения Версия для печати
Написал microsin   
11.06.2009

Процесс по шагам (на примере dalog-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)
{
    ...
}

 

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

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

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

< Пред.   След. >

Top of Page
 
microsin © 2023