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

如果在 Flags 成員中設定了CC_ENABLETEMPLATEHANDLE旗標,hInstance 是包含對話框範本的記憶體物件句柄。 如果 已設定CC_ENABLETEMPLATE 旗標, hInstance 是模組的句柄,其中包含 由 lpTemplateName 成員命名的對話框範本。 如果未設定 CC_ENABLETEMPLATEHANDLECC_ENABLETEMPLATE ,則會忽略這個成員。

rgbResult

類型: COLORREF

如果 已設定CC_RGBINIT 旗標, rgbResult 會指定建立對話框時最初選取的色彩。 如果指定的色彩值不在可用的色彩之間,則系統會選取可用的最接近純色。 如果未設定 rgbResult 為零或 CC_RGBINIT ,則最初選取的色彩為黑色。 如果使用者按兩下 [ 確定 ] 按鈕, rgbResult 會指定使用者的色彩選取範圍。 若要建立 COLORREF 色彩值,請使用 RGB 宏。

lpCustColors

類型: COLORREF*

16 個值的指標,其中包含對話框中自定義色彩方塊的紅色、綠色、藍色 (RGB) 值。 如果使用者修改這些色彩,系統會以新的 RGB 值更新數位。 若要在對 ChooseColor 函式的呼叫之間保留新的自定義色彩,您應該為數位配置靜態記憶體。 若要建立 COLORREF 色彩值,請使用 RGB 宏。

Flags

類型: DWORD

一組位旗標,可用來初始化 [色彩 ] 對話框。 當對話框傳回時,它會設定這些旗標來指出用戶的輸入。 這個成員可以是下列旗標的組合。

意義
CC_ANYCOLOR
0x00000100
讓對話框在基本色彩集中顯示所有可用的色彩。
CC_ENABLEHOOK
0x00000010
啟用這個 結構的 lpfnHook 成員中指定的攔截程式。 此旗標僅用於初始化對話框。
CC_ENABLETEMPLATE
0x00000020
hInstancelpTemplateName 成員會指定要用來取代預設範本的對話框範本。 此旗標僅用於初始化對話框。
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 宏所傳回的值。 除非在 Flags 成員中設定CC_ENABLETEMPLATE旗標,否則會忽略這個成員。

lpEditInfo

規格需求

需求
最低支援的用戶端 Windows 10 組建 20348
最低支援的伺服器 Windows 10 組建 20348
標頭 commdlg.h

另請參閱

CCHookProc

ChooseColor

通用對話框連結庫

概念

MAKEINTRESOURCE

參考