NM_CUSTOMDRAW通知程式碼
通知控制項的父視窗有關自訂繪圖作業。 此通知碼會以 WM_NOTIFY 訊息的形式傳送。
NM_CUSTOMDRAW
#ifdef LIST_VIEW_CUSTOM_DRAW
lpNMCustomDraw = (LPNMLVCUSTOMDRAW) lParam;
#elif TOOL_TIPS_CUSTOM_DRAW
lpNMCustomDraw = (LPNMTTCUSTOMDRAW) lParam;
#elif TREE_VIEW_CUSTOM_DRAW
lpNMCustomDraw = (LPNMTVCUSTOMDRAW) lParam;
#elif TOOL_BAR_CUSTOM_DRAW
lpNMCustomDraw = (LPNMTBCUSTOMDRAW) lParam;
#else
lpNMCustomDraw = (LPNMCUSTOMDRAW) lParam;
#endif
參數
-
lParam
-
自訂繪製相關結構的指標,其中包含繪圖作業的相關資訊。 下列清單會指定控制項及其相關聯的結構。
控制 自訂繪製結構 Rebar、trackbar 和 header NMCUSTOMDRAW 清單檢視 NMLVCUSTOMDRAW 工具提示 NMTTCUSTOMDRAW 樹狀檢視 NMTVCUSTOMDRAW 工具列 NMTBCUSTOMDRAW
傳回值
您的應用程式可以傳回的值取決於目前的繪圖階段。 相關聯NMCUSTOMDRAW結構的dwDrawStage成員會保留指定繪圖階段的值。 您必須傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
|
控制項會自行繪製。 它不會為此繪製週期傳送額外的 NM_CUSTOMDRAW 通知碼。 這個旗標不能與任何其他旗標搭配使用。 |
|
控制項只會繪製背景。 |
|
您的應用程式為專案指定了新的字型;控制項會使用新的字型。 如需變更字型的詳細資訊,請參閱 變更字型和色彩。 當 dwDrawStage 等於CDDS_ITEMPREPAINT時,就會發生這種情況。 |
|
控制項會通知父代任何專案相關的繪圖作業。 它會在繪圖專案前後傳送 NM_CUSTOMDRAW 通知碼。 當 dwDrawStage 等於CDDS_PREPAINT時,就會發生這種情況。 |
|
清除專案之後,控制項會通知父代。 當 dwDrawStage 等於CDDS_PREPAINT時,就會發生這種情況。 |
|
當整個控制項的繪製週期完成時,控制項會傳送 NM_CUSTOMDRAW 通知碼。 當 dwDrawStage 等於CDDS_PREPAINT時,就會發生這種情況。 |
|
您的應用程式會收到NM_CUSTOMDRAW通知碼,並將 dwDrawStage設定為 CDDS_ITEMPREPAINT |在繪製每個清單檢視子專案之前,CDDS_SUBITEM。 然後,您可以個別指定每個子專案的字型和色彩,或傳回 預設處理CDRF_DODEFAULT 。 當 dwDrawStage 等於CDDS_ITEMPREPAINT時,就會發生這種情況。 |
|
您的應用程式會手動擷取專案。 控制項不會繪製專案。 當 dwDrawStage 等於CDDS_ITEMPREPAINT時,就會發生這種情況。 |
|
控制項不會在專案周圍繪製焦點矩形。 |
備註
目前,下列控制項支援自訂繪製功能:標頭、清單檢視、Rebar、工具列、工具提示、追蹤列和樹狀檢視。 如果您有應用程式資訊清單,以確保有第 6 版Comctl32.dll,也支援按鈕控制項的自訂繪製。
如果在對話程式中處理此訊息,您必須先將傳回值設定為視窗資料的一部分,然後再傳回 TRUE。 如需詳細資訊,請參閱 DialogProc。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2003 [僅限桌面應用程式] |
標頭 |
|
另請參閱
-
概念