次の方法で共有


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 メンバーは、描画ステージを指定する値を保持します。 次のいずれかの値を返す必要があります。

リターン コード 説明
CDRF_DODEFAULT
コントロール自体が描画されます。 このペイント サイクルの追加 NM_CUSTOMDRAW 通知コードは送信されません。 このフラグは、他のフラグと共に使用することはできません。
CDRF_DOERASE
コントロールは背景のみを描画します。
CDRF_NEWFONT
アプリケーションで項目の新しいフォントを指定しました。コントロールは新しいフォントを使用します。 フォントの変更の詳細については、「フォント と色の変更」を参照してください。 これは、 dwDrawStage が CDDS_ITEMPREPAINTと等しい場合に発生します。
CDRF_NOTIFYITEMDRAW
コントロールは、アイテム関連の描画操作を親に通知します。 描画アイテム の前後NM_CUSTOMDRAW 通知コードが送信されます。 これは、 dwDrawStage が CDDS_PREPAINTと等しい場合に発生します。
CDRF_NOTIFYPOSTERASE
コントロールは、項目を消去した後に親に通知します。 これは、 dwDrawStage が CDDS_PREPAINTと等しい場合に発生します。
CDRF_NOTIFYPOSTPAINT
コントロール全体の描画サイクルが完了すると、コントロールは NM_CUSTOMDRAW 通知コードを送信します。 これは、 dwDrawStage が CDDS_PREPAINTと等しい場合に発生します。
CDRF_NOTIFYSUBITEMDRAW
アプリケーションは、dwDrawStage が CDDS_ITEMPREPAINT に設定されたNM_CUSTOMDRAW通知コードを受け取ります。 |各リスト ビュー サブ項目が描画される前にCDDS_SUBITEMします。 その後、サブ項目ごとにフォントと色を個別に指定するか、既定の処理 のためにCDRF_DODEFAULT を返すことができます。 これは、 dwDrawStage が CDDS_ITEMPREPAINTと等しい場合に発生します。
CDRF_SKIPDEFAULT
アプリケーションがアイテムを手動で描画しました。 コントロールは項目を描画しません。 これは、 dwDrawStage が CDDS_ITEMPREPAINTと等しい場合に発生します。
CDRF_SKIPPOSTPAINT
コントロールは、項目の周囲にフォーカスの四角形を描画しません。

解説

現在、次のコントロールでは、カスタム描画機能 (ヘッダー、リスト ビュー、鉄筋、ツール バー、ツール ヒント、トラック バー、ツリー ビュー) がサポートされています。 カスタム描画は、バージョン 6 を使用できるようにアプリケーション マニフェストがある場合Comctl32.dllボタン コントロールでもサポートされます。

このメッセージがダイアログ プロシージャで処理される場合は、 TRUE を返す前に、ウィンドウ データの一部として戻り値を設定する必要があります。 詳細については、「 DialogProc」を参照してください。

要件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
ヘッダー
Commctrl.h

関連項目

概念

ユーザー設定の描画