WM_DRAWITEM消息
當具有自繪風格的按鈕、組合框、列表框或者菜單的可見部分發生改變時,就會發送WM_DRAWITEM消息給自繪控件所在的窗體。
窗口通過WindowProc函數接受WM_DRAWITEM消息
WindowProc函數定義如下:
LRESULT CALLBACK WindowProc(
HWND hwnd, //指向窗口的句柄
UINT uMsg, WM_DRAWITEM消息
WPARAM wParam, //control identifier(UINT)
LPARAM lParam //item data(LPDRAWITEMSTRUCT)
);
參數:
wParam
用來指定發送WM_DRAWITEM消息的控件標識符。如果該消息是由菜單發送的,則該參數為零。
lParam
指向一個DRAWITEMSTRUCT結構的指針,該結構包括一些關於要繪制的條目和要繪制的類型的信息。
返回值:
如果處理該消息,則必須返回TRUE
注意:
默認情況下,DefWindowProc函數為自繪列表框繪制焦點區域。
DRAWITEMSTRUCT結構的itemAction成員指定了應該要進行的繪制操作。
在處理該消息返回之前,應該要保證DRAWITEMSTRUCT結構的設備內容hDC處於默認的狀態下(也就是不要改變設備環境的默認上下文)。
