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_ENABLETEMPLATEHANDLE 또는 CC_ENABLETEMPLATE 설정되지 않은 경우 이 멤버는 무시됩니다.

rgbResult

형식: COLORREF

CC_RGBINIT 플래그가 설정된 경우 rgbResult는 대화 상자를 만들 때 처음에 선택한 색을 지정합니다. 지정한 색 값이 사용 가능한 색에 속하지 않으면 시스템에서 사용 가능한 가장 가까운 단색을 선택합니다. rgbResult가 0이거나 CC_RGBINIT 설정되지 않은 경우 처음에 선택한 색은 검은색입니다. 사용자가 확인 단추를 클릭하면 rgbResult 는 사용자의 색 선택을 지정합니다. COLORREF 색 값을 만들려면 RGB 매크로를 사용합니다.

lpCustColors

형식: COLORREF*

대화 상자의 사용자 지정 색 상자에 대한 빨강, 녹색, 파랑(RGB) 값을 포함하는 16개 값의 배열에 대한 포인터입니다. 사용자가 이러한 색을 수정하면 시스템에서 배열을 새 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 멤버로 식별된 모듈의 대화 상자 템플릿 리소스 이름입니다. 이 템플릿은 표준 대화 상자 템플릿으로 대체됩니다. 번호가 매겨진 대화 상자 리소스의 경우 lpTemplateNameMAKEINTRESOURCE 매크로에서 반환되는 값일 수 있습니다. flags 멤버에서 CC_ENABLETEMPLATE 플래그를 설정하지 않으면 이 멤버는 무시됩니다.

lpEditInfo

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10 빌드 20348
지원되는 최소 서버 Windows 10 빌드 20348
머리글 commdlg.h

추가 정보

CCHookProc

선택Color

일반 대화 상자 라이브러리

개념

MAKEINTRESOURCE

참조