Структура NMHDR

Эта структура используется в функциях обработки сообщений в формате WM_NOTIFY. Вот её описание:

typedef struct tagNMHDR 
{
HWND hwndFrom;
UINT idFrom;
UINT code;
} NMHDR;
  • hwndFrom - дескриптор окна элемента управления, от которого пришло извещение. Его можно преобразовать в указатель на объект CWnd, если воспользоваться функцией From Handle.
  • idFrom - это идентификатор элемента управления пославщего сообщение.
  • code - это код извещения. Он может быть каким.
    • NM_CLICK - щелкнули левой кнопкой
    • NM_DBLCLK - двойной щелчок левой
    • NM_RCLICK - щелкнули правой кнопкой
    • NM_RDBLCLK - двойной щелчок правой
    • NM_RETURN - нажали Enter
    • NM_KILLFOCUS - потеря фокуса элементом управления
    • NM_SETFOCUS - элемент управления получил фокус
    • NM_OUTOFMEMORY - элемент управления сообщает о нехватке памяти

Для полной картины сообщения могут определяться еще и элементом управления. Напомню, что эта структура используется в CWnd::OnNotify и имеет вот такую карту сообщения.

ON_NOTIFY( код, идентификатор, функция)