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

現在の描画ステージ。 これは次のいずれかの値です。

意味
グローバル値:
CDDS_POSTERASE
消去サイクルが完了した後。
CDDS_POSTPAINT
塗装サイクルが完了した後。
CDDS_PREERASE
消去サイクルが開始される前。
CDDS_PREPAINT
塗装サイクルが始まる前に。
項目固有の値:
CDDS_ITEM
dwItemSpecuItemState、および lItemlParam メンバーが有効であることを示します。
CDDS_ITEMPOSTERASE
アイテムが消去された後。
CDDS_ITEMPOSTPAINT
項目が描画された後。
CDDS_ITEMPREERASE
アイテムが消去される前。
CDDS_ITEMPREPAINT
アイテムが描画される前。
CDDS_SUBITEM
サブ項目が描画されている場合は、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

現在のアイテムの状態。 この値は、次のフラグの組み合わせです。

意味
CDIS_CHECKED
項目がチェックされています。
CDIS_DEFAULT
項目が既定の状態です。
CDIS_DISABLED
この項目は無効です。
CDIS_FOCUS
項目にフォーカスがあります。
CDIS_GRAYED
項目が淡色表示になっています。
CDIS_HOT
項目は現在ポインターの下にあります ("hot")。
CDIS_INDETERMINATE
項目が中間状態です。
CDIS_MARKED
項目がマークされています。 この意味は、 の実装によって決まります。
CDIS_SELECTED
項目が選択されています。
メモ このフラグは、 LVS_SHOWSELALWAYS スタイルを持つ所有者描画リスト ビュー コントロールでは正しく機能しません。 これらのコントロールでは、LVM_GETITEMSTATE (またはListView_GetItemState) を使用し、LVIS_SELECTEDフラグを確認することで、項目が選択されているかどうかを判断できます。
 
CDIS_SHOWKEYBOARDCUES

バージョン 6.0。項目にキーボードキューが表示されています。

Comctl32 バージョン 6 は再頒布可能ではないことに注意してください。 オペレーティング システム。 バージョン 6 Comctl32.dll 使用するには、マニフェストで指定します。 マニフェストの詳細については、「 ビジュアル スタイルの有効化」を参照してください。

CDIS_NEARHOT
項目は、現在マウス ポインター ("hot") の下にあるコントロールの一部ですが、項目自体は "ホット" ではありません。 この意味は、 の実装によって決まります。
CDIS_OTHERSIDEHOT
項目は、現在マウス ポインター ("hot") の下にある分割ボタンの一部ですが、項目自体は "ホット" ではありません。 この意味は、 の実装によって決まります。
CDIS_DROPHILITED
現在、項目はドラッグ アンド ドロップ操作のドロップ ターゲットです。

lItemlParam

種類: LPARAM

アプリケーション定義項目データ。

解説

アプリケーションから返される値は、現在の描画ステージによって異なります。 関連付けられた NMCUSTOMDRAW 構造体の dwDrawStage メンバーは、描画ステージを指定する値を保持します。 dwDrawStage メンバーが CDDS_PREPAINT および CDDS_PREERASEと等しい場合、一部のコントロールは最初にCDDS_PREERASE メッセージを送信し、その後に送信されるメッセージを示す戻り値を期待します。 状態と描画ステージを示すコード サンプルについては、「 Custom Draw を使用したコントロールの外観のカスタマイズ」を参照してください。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header commctrl.h