NM_CUSTOMDRAW (リスト ビュー) 通知コード

描画操作について親ウィンドウに通知するために、リスト ビュー コントロールによって送信されます。 この通知コードは、 WM_NOTIFY メッセージの形式で送信されます。

NM_CUSTOMDRAW

    lpNMCustomDraw = (LPNMLVCUSTOMDRAW) lParam;

パラメーター

lParam

描画操作に関する情報を含む NMLVCUSTOMDRAW 構造体へのポインター。 この構造体の最初のメンバー である nmcd は、 NMCUSTOMDRAW 構造体へのポインターです。 nmcd が指す構造体の dwItemSpec メンバーには、描画される項目の識別子が含まれ、lItemlParam メンバーにはアプリケーション定義データが含まれています。

戻り値

アプリケーションが返すことができる値は、現在の描画ステージによって異なります。 関連付けられた NMCUSTOMDRAW 構造体の dwDrawStage メンバーは、描画ステージを指定する値を保持します。 次のいずれかの値を返す必要があります。

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

解説

バージョン 5.80。 CDRF_NEWFONTを返してフォントを変更すると、リスト ビュー コントロールにクリップされたテキストが表示されることがあります。 この動作は、以前のバージョンの共通コントロールとの下位互換性のために必要です。 リスト ビュー コントロールのフォントを変更する場合は、コントロールに項目を追加する前に wParam 値が 5 に設定されたCCM_SETVERSION メッセージを送信すると、より適切な結果が得られます。

必要条件

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