CHOOSECOLORA 構造体 (commdlg.h)

ChooseColor 関数が [色] ダイアログ ボックスの初期化に使用する情報を格納します。 ユーザーがダイアログ ボックスを閉じると、この構造のユーザーの選択に関する情報が返されます。

構文

typedef struct tagCHOOSECOLORA {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HWND         hInstance;
  COLORREF     rgbResult;
  COLORREF     *lpCustColors;
  DWORD        Flags;
  LPARAM       lCustData;
  LPCCHOOKPROC lpfnHook;
  LPCSTR       lpTemplateName;
  LPEDITMENU   lpEditInfo;
} CHOOSECOLORA, *LPCHOOSECOLORA;

メンバー

lStructSize

型: DWORD

構造体の長さ (バイト単位)。

hwndOwner

型: HWND

ダイアログ ボックスを所有するウィンドウへのハンドル。 このメンバーは、任意の有効なウィンドウ ハンドルにすることも、ダイアログ ボックスに所有者がいない場合は NULL にすることもできます。

hInstance

型: HWND

CC_ENABLETEMPLATEHANDLE フラグが Flags メンバーに設定されている場合、hInstance はダイアログ ボックス テンプレートを含むメモリ オブジェクトへのハンドルです。 CC_ENABLETEMPLATE フラグが設定されている場合、hInstancelpTemplateName メンバーによって名前付けされたダイアログ ボックス テンプレートを含むモジュールへのハンドルです。 CC_ENABLETEMPLATEHANDLECC_ENABLETEMPLATEも設定されていない場合、このメンバーは無視されます。

rgbResult

種類: COLORREF

CC_RGBINIT フラグが設定されている場合、rgbResult はダイアログ ボックスの作成時に最初に選択した色を指定します。 指定した色の値が使用可能な色の中にない場合は、使用可能な最も近い純色が選択されます。 rgbResult が 0 の場合、またはCC_RGBINITが設定されていない場合、最初に選択した色は黒になります。 ユーザーが [OK] ボタンをクリックすると、 rgbResult によってユーザーの色の選択が指定されます。 COLORREF カラー値を作成するには、RGB マクロを使用します。

lpCustColors

種類: COLORREF*

ダイアログ ボックスのカスタム カラー ボックスの赤、緑、青 (RGB) の値を含む 16 個の値の配列へのポインター。 ユーザーがこれらの色を変更すると、システムは新しい RGB 値を使用して配列を更新します。 ChooseColor 関数の呼び出し間で新しいカスタム 色を保持するには、配列に静的メモリを割り当てる必要があります。 COLORREF カラー値を作成するには、RGB マクロを使用します。

Flags

型: DWORD

[ ] ダイアログ ボックスの初期化に使用できるビット フラグのセット。 ダイアログ ボックスが戻ると、ユーザーの入力を示すようにこれらのフラグが設定されます。 このメンバーには、次のフラグを組み合わせて使用できます。

意味
CC_ANYCOLOR
0x00000100
ダイアログ ボックスに、使用可能なすべての色が基本色のセットで表示されます。
CC_ENABLEHOOK
0x00000010
この構造体の lpfnHook メンバーで指定されたフック プロシージャを有効にします。 このフラグは、ダイアログ ボックスの初期化にのみ使用されます。
CC_ENABLETEMPLATE
0x00000020
hInstance メンバーと lpTemplateName メンバーは、既定のテンプレートの代わりに使用するダイアログ ボックス テンプレートを指定します。 このフラグは、ダイアログ ボックスの初期化にのみ使用されます。
CC_ENABLETEMPLATEHANDLE
0x00000040
hInstance メンバーは、事前に読み込まれたダイアログ ボックス テンプレートを含むデータ ブロックを識別します。 このフラグが指定されている場合、システムは lpTemplateName メンバーを無視します。 このフラグは、ダイアログ ボックスの初期化にのみ使用されます。
CC_FULLOPEN
0x00000002
ダイアログ ボックスに、ユーザーがカスタム 色を作成できる追加のコントロールを表示します。 このフラグが設定されていない場合、ユーザーは [ユーザー設定 の色の定義 ] ボタンをクリックして、ユーザー設定の色コントロールを表示する必要があります。
CC_PREVENTFULLOPEN
0x00000004
[ ユーザー設定の色の定義 ] ボタンを無効にします。
CC_RGBINIT
0x00000001
ダイアログ ボックスで 、rgbResult メンバーで指定された色を初期の色選択として使用します。
CC_SHOWHELP
0x00000008
ダイアログ ボックスに [ヘルプ] ボタンが表示されます。 hwndOwner メンバーは、ユーザーが [ヘルプ] ボタンをクリックしたときにダイアログ ボックスが送信する HELPMSGSTRING 登録済みメッセージを受信するウィンドウを指定する必要があります。
CC_SOLIDCOLOR
0x00000080
ダイアログ ボックスに、基本色のセットに単色のみが表示されます。

lCustData

型: LPARAM

システムが lpfnHook メンバーによって識別されるフック・プロシージャーに渡すアプリケーション定義データ。 システムが WM_INITDIALOG メッセージをフック・プロシージャーに送信する場合、メッセージの lParam パラメーターは、ダイアログの作成時に指定された CHOOSECOLOR 構造体へのポインターです。 フック プロシージャでは、このポインターを使用して lCustData 値を取得できます。

lpfnHook

種類: LPCCHOOKPROC

ダイアログ ボックス用のメッセージを処理できる CCHookProc フック プロシージャへのポインター。 このメンバーは、flags メンバーでCC_ENABLEHOOK フラグが設定されていない限り無視されます。

lpTemplateName

種類: LPCTSTR

hInstance メンバーによって識別されるモジュール内のダイアログ ボックス テンプレート リソースの名前。 このテンプレートは、標準のダイアログ ボックス テンプレートに置き換えられます。 番号付きダイアログ ボックス リソースの場合、 lpTemplateName には MAKEINTRESOURCE マクロによって返される値を指定できます。 CC_ENABLETEMPLATE フラグがFlags メンバーに設定されていない限り、このメンバーは無視されます。

lpEditInfo

要件

要件
サポートされている最小のクライアント Windows 10 ビルド 20348
サポートされている最小のサーバー Windows 10 ビルド 20348
Header commdlg.h

こちらもご覧ください

CCHookProc

ChooseColor

共通ダイアログ ボックス ライブラリ

概念

MAKEINTRESOURCE

参照