NMCUSTOMDRAW 構造体 (commctrl.h)
NM_CUSTOMDRAW通知コードに固有の情報 が 含まれます。
構文
typedef struct tagNMCUSTOMDRAWINFO {
NMHDR hdr;
DWORD dwDrawStage;
HDC hdc;
RECT rc;
DWORD_PTR dwItemSpec;
UINT uItemState;
LPARAM lItemlParam;
} NMCUSTOMDRAW, *LPNMCUSTOMDRAW;
メンバー
hdr
種類: NMHDR
この通知コードに関する情報を含む NMHDR 構造体。
dwDrawStage
型: DWORD
現在の描画ステージ。 これは次のいずれかの値です。
値 | 意味 |
---|---|
|
|
|
消去サイクルが完了した後。 |
|
塗装サイクルが完了した後。 |
|
消去サイクルが開始される前。 |
|
塗装サイクルが始まる前に。 |
|
|
|
dwItemSpec、uItemState、および lItemlParam メンバーが有効であることを示します。 |
|
アイテムが消去された後。 |
|
項目が描画された後。 |
|
アイテムが消去される前。 |
|
アイテムが描画される前。 |
|
サブ項目が描画されている場合は、CDDS_ITEMPREPAINTまたはCDDS_ITEMPOSTPAINTと組み合わせたフラグ。 これは、 CDDS_PREPAINTからCDRF_NOTIFYITEMDRAW が返された場合にのみ設定されます。 |
hdc
種類: HDC
コントロールのデバイス コンテキストへのハンドル。 この HDC を使用して、GDI 関数を実行します。
rc
種類: RECT
描画される領域の外接する四角形を表す RECT 構造体。 このメンバーは、CDDS_ITEMPREPAINT通知によってのみ初期化されます。 バージョン 5.80。 このメンバーは、CDDS_PREPAINT通知によっても初期化されます。
dwItemSpec
種類: DWORD_PTR
アイテム番号。 このメンバーに含まれる内容は、通知を送信するコントロールの種類によって異なります。 特定のコントロールの NM_CUSTOMDRAW 通知リファレンスを参照して、このメンバーに何が含まれているかを確認します。
uItemState
型: UINT
現在のアイテムの状態。 この値は、次のフラグの組み合わせです。
値 | 意味 |
---|---|
|
項目がチェックされています。 |
|
項目が既定の状態です。 |
|
この項目は無効です。 |
|
項目にフォーカスがあります。 |
|
項目が淡色表示になっています。 |
|
項目は現在ポインターの下にあります ("hot")。 |
|
項目が中間状態です。 |
|
項目がマークされています。 この意味は、 の実装によって決まります。 |
|
項目が選択されています。
メモ このフラグは、 LVS_SHOWSELALWAYS スタイルを持つ所有者描画リスト ビュー コントロールでは正しく機能しません。 これらのコントロールでは、LVM_GETITEMSTATE (またはListView_GetItemState) を使用し、LVIS_SELECTEDフラグを確認することで、項目が選択されているかどうかを判断できます。
|
|
バージョン 6.0。項目にキーボードキューが表示されています。 Comctl32 バージョン 6 は再頒布可能ではないことに注意してください。 オペレーティング システム。 バージョン 6 Comctl32.dll 使用するには、マニフェストで指定します。 マニフェストの詳細については、「 ビジュアル スタイルの有効化」を参照してください。 |
|
項目は、現在マウス ポインター ("hot") の下にあるコントロールの一部ですが、項目自体は "ホット" ではありません。 この意味は、 の実装によって決まります。 |
|
項目は、現在マウス ポインター ("hot") の下にある分割ボタンの一部ですが、項目自体は "ホット" ではありません。 この意味は、 の実装によって決まります。 |
|
現在、項目はドラッグ アンド ドロップ操作のドロップ ターゲットです。 |
lItemlParam
種類: LPARAM
アプリケーション定義項目データ。
解説
アプリケーションから返される値は、現在の描画ステージによって異なります。 関連付けられた NMCUSTOMDRAW 構造体の dwDrawStage メンバーは、描画ステージを指定する値を保持します。 dwDrawStage メンバーが CDDS_PREPAINT および CDDS_PREERASEと等しい場合、一部のコントロールは最初にCDDS_PREERASE メッセージを送信し、その後に送信されるメッセージを示す戻り値を期待します。 状態と描画ステージを示すコード サンプルについては、「 Custom Draw を使用したコントロールの外観のカスタマイズ」を参照してください。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | commctrl.h |