CHOOSEFONTA 구조체(commdlg.h)

ChooseFont 함수가 글꼴 대화 상자를 초기화하는 데 사용하는 정보를 포함합니다. 사용자가 대화 상자를 닫은 후 시스템은 이 구조에서 사용자의 선택에 대한 정보를 반환합니다.

구문

typedef struct tagCHOOSEFONTA {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HDC          hDC;
  LPLOGFONTA   lpLogFont;
  INT          iPointSize;
  DWORD        Flags;
  COLORREF     rgbColors;
  LPARAM       lCustData;
  LPCFHOOKPROC lpfnHook;
  LPCSTR       lpTemplateName;
  HINSTANCE    hInstance;
  LPSTR        lpszStyle;
  WORD         nFontType;
  WORD         ___MISSING_ALIGNMENT__;
  INT          nSizeMin;
  INT          nSizeMax;
} CHOOSEFONTA;

멤버

lStructSize

형식:DWORD

구조체의 길이(바이트)입니다.

hwndOwner

형식: HWND

대화 상자를 소유하는 창에 대한 핸들입니다. 이 멤버는 유효한 창 핸들이거나 대화 상자에 소유자가 없는 경우 NULL 일 수 있습니다.

hDC

형식: HDC

이 멤버는 ChooseFont 함수에서 무시됩니다.

Windows Vista 및 Windows XP/2000: 대화 상자에 글꼴이 나열되는 프린터의 디바이스 컨텍스트 또는 정보 컨텍스트에 대한 핸들입니다. 이 멤버는 Flags 멤버가 CF_PRINTERFONTS 또는 CF_BOTH 플래그를 지정하는 경우에만 사용됩니다. 그렇지 않으면 이 멤버는 무시됩니다.

lpLogFont

형식: LPLOGFONT

LOGFONT 구조체에 대한 포인터입니다. Flags 멤버에서 CF_INITTOLOGFONTSTRUCT 플래그를 설정하고 다른 멤버를 초기화하는 경우 ChooseFont 함수는 LOGFONT 멤버와 일치하는 글꼴로 대화 상자를 초기화합니다. 사용자가 확인 단추를 클릭하면 ChooseFont 는 사용자의 선택에 따라 LOGFONT 구조체의 멤버를 설정합니다.

iPointSize

형식: INT

선택한 글꼴의 크기(점의 1/10 단위)입니다. ChooseFont 함수는 사용자가 대화 상자를 닫은 후 이 값을 설정합니다.

Flags

형식:DWORD

글꼴 대화 상자를 초기화하는 데 사용할 수 있는 비트 플래그 집합입니다. 대화 상자가 반환되면 이러한 플래그를 설정하여 사용자 입력을 나타냅니다. 이 멤버는 다음 값 중 하나 이상일 수 있습니다.

의미
CF_APPLY
0x00000200L
대화 상자에 적용 단추가 표시되도록 합니다. 적용 단추에 대한 WM_COMMAND 메시지를 처리하는 후크 프로시저를 제공해야 합니다. 후크 프로시저는 대화 상자에 WM_CHOOSEFONT_GETLOGFONT 메시지를 보내 글꼴에 대한 현재 선택 항목이 포함된 구조체의 주소를 검색할 수 있습니다.
CF_ANSIONLY
0x00000400L
이 플래그는 사용되지 않습니다. 글꼴 선택을 OEM 또는 기호 문자 집합을 사용하는 스크립트를 제외한 모든 스크립트로 제한하려면 CF_SCRIPTSONLY 사용합니다. 원래 CF_ANSIONLY 동작을 얻으려면 CF_SELECTSCRIPT 사용하고 lpLogFont가 가리키는LOGFONT 구조체의 lfCharSet 멤버에 ANSI_CHARSET 지정합니다.
CF_BOTH
0x00000003
글꼴 열거형의 경우 이 플래그는 무시됩니다.

Windows Vista 및 Windows XP/2000: 대화 상자가 사용 가능한 프린터 및 화면 글꼴을 나열하도록 합니다. hDC 멤버는 프린터와 연결된 디바이스 컨텍스트 또는 정보 컨텍스트에 대한 핸들입니다. 이 플래그는 CF_SCREENFONTS 플래그와 CF_PRINTERFONTS 플래그의 조합입니다.

CF_EFFECTS
0x00000100L
사용자가 취소선, 밑줄 및 텍스트 색 옵션을 지정할 수 있도록 하는 컨트롤이 대화 상자에 표시되도록 합니다. 이 플래그가 설정된 경우 rgbColors 멤버를 사용하여 초기 텍스트 색을 지정할 수 있습니다. lpLogFont가 가리키는 구조체의 lfStrikeOutlfUnderline 멤버를 사용하여 취소선의 초기 설정을 지정하고 검사 상자에 밑줄을 표시할 수 있습니다. ChooseFont 는 이러한 멤버를 사용하여 사용자의 선택 항목을 반환할 수 있습니다.
CF_ENABLEHOOK
0x00000008L
이 구조체의 lpfnHook 멤버에 지정된 후크 프로시저를 사용하도록 설정합니다.
CF_ENABLETEMPLATE
0x00000010L
hInstancelpTemplateName 멤버가 기본 템플릿 대신 사용할 대화 상자 템플릿을 지정함을 나타냅니다.
CF_ENABLETEMPLATEHANDLE
0x00000020L
hInstance 멤버가 미리 로드된 대화 상자 템플릿이 포함된 데이터 블록을 식별함을 나타냅니다. 이 플래그가 지정된 경우 시스템에서 lpTemplateName 멤버를 무시합니다.
CF_FIXEDPITCHONLY
0x00004000L

선택Font 는 고정 피치 글꼴만 열거하고 선택하도록 허용해야 합니다.

CF_FORCEFONTEXIST
0x00010000L

사용자가 대화 상자에 나열되지 않은 글꼴 또는 스타일을 선택하려고 하면 선택Font는 오류 조건을 나타내야 합니다.

CF_INACTIVEFONTS
0x02000000L

선택Font는 글꼴 제어판 숨기기로 설정된 글꼴을 추가로 표시해야 합니다.

Windows Vista 및 Windows XP/2000: 이 플래그는 Windows 7까지 지원되지 않습니다.

CF_INITTOLOGFONTSTRUCT
0x00000040L

ChooseFontlpLogFont 멤버가 가리키는 구조를 사용하여 대화 상자 컨트롤을 초기화해야 합니다.

CF_LIMITSIZE
0x00002000L

선택FontnSizeMinnSizeMax 멤버로 지정된 범위 내에서 글꼴 크기만 선택해야 합니다.

CF_NOOEMFONTS
0x00000800L
CF_NOVECTORFONTS 플래그와 동일합니다.
CF_NOFACESEL
0x00080000L
LOGFONT 구조를 사용하여 대화 상자 컨트롤을 초기화하는 경우 이 플래그를 사용하여 대화 상자가 글꼴 이름 콤보 상자에 대한 초기 선택을 표시하지 못하도록 합니다. 텍스트 선택 영역에 적용되는 단일 글꼴 이름이 없는 경우에 유용합니다.
CF_NOSCRIPTSEL
0x00800000L
스크립트 콤보 상자를 사용하지 않도록 설정합니다. 이 플래그가 설정되면 ChooseFont가 반환되면 LOGFONT 구조체의 lfCharSet 멤버가 DEFAULT_CHARSET 설정됩니다. 이 플래그는 대화 상자를 초기화하는 데만 사용됩니다.
CF_NOSIMULATIONS
0x00001000L

선택Font 는 글꼴 시뮬레이션을 표시하거나 선택할 수 없습니다.

CF_NOSIZESEL
0x00200000L
구조체를 사용하여 대화 상자 컨트롤을 초기화하는 경우 이 플래그를 사용하여 대화 상자에 글꼴 크기 콤보 상자의 초기 선택이 표시되지 않도록 합니다. 텍스트 선택 영역에 적용되는 단일 글꼴 크기가 없는 경우에 유용합니다.
CF_NOSTYLESEL
0x00100000L
LOGFONT 구조를 사용하여 대화 상자 컨트롤을 초기화하는 경우 이 플래그를 사용하여 대화 상자에 글꼴 스타일 콤보 상자의 초기 선택 항목이 표시되지 않도록 합니다. 텍스트 선택 영역에 적용되는 단일 글꼴 스타일이 없는 경우에 유용합니다.
CF_NOVECTORFONTS
0x00000800L

선택Font 는 벡터 글꼴 선택을 허용하지 않아야 합니다.

CF_NOVERTFONTS
0x01000000L
글꼴 대화 상자가 가로 방향 글꼴만 나열하도록 합니다.
CF_PRINTERFONTS
0x00000002
글꼴 열거형의 경우 이 플래그는 무시됩니다.

Windows Vista 및 Windows XP/2000: 대화 상자가 hDC 멤버로 식별된 디바이스 컨텍스트 또는 정보 컨텍스트와 연결된 프린터에서 지원하는 글꼴만 나열하도록 합니다. 또한 글꼴 형식 설명 레이블이 글꼴 대화 상자의 아래쪽에 표시됩니다.

CF_SCALABLEONLY
0x00020000L
ChooseFont에서 확장 가능한 글꼴만 선택할 수 있도록 지정합니다. 확장 가능한 글꼴에는 벡터 글꼴, 확장 가능한 프린터 글꼴, TrueType 글꼴 및 다른 기술로 확장된 글꼴이 포함됩니다.
CF_SCREENFONTS
0x00000001
글꼴 열거형의 경우 이 플래그는 무시됩니다.

Windows Vista 및 Windows XP/2000: 대화 상자가 시스템에서 지원하는 화면 글꼴만 나열하도록 합니다.

CF_SCRIPTSONLY
0x00000400L

선택Font 는 ANSI 문자 집합뿐만 아니라 모든 비 OEM 및 기호 문자 집합에 대한 글꼴 선택을 허용해야 합니다. 그러면 CF_ANSIONLY 값이 대체됩니다.

CF_SELECTSCRIPT
0x00400000L
입력에 지정된 경우 LOGFONT 구조체의 lfCharSet 멤버에서 식별된 문자 집합이 있는 글꼴만 표시됩니다. 사용자는 스크립트 콤보 상자에 지정된 문자 집합을 변경할 수 없습니다.
CF_SHOWHELP
0x00000004L
대화 상자에 도움말 단추가 표시되도록 합니다. hwndOwner 멤버는 사용자가 도움말 단추를 클릭할 때 대화 상자에서 보내는 HELPMSGSTRING 등록 메시지를 받을 창을 지정해야 합니다.
CF_TTONLY
0x00040000L

ChooseFont 는 TrueType 글꼴만 열거하고 선택하도록 허용해야 합니다.

CF_USESTYLE
0x00000080L
lpszStyle 멤버는 ChooseFont글꼴 스타일 콤보 상자를 초기화하는 데 사용해야 하는 스타일 데이터가 포함된 버퍼에 대한 포인터입니다. 사용자가 대화 상자를 닫으면 ChooseFont 는 사용자가 선택한 스타일 데이터를 이 버퍼에 복사합니다.
참고 애플리케이션을 전역화하려면 lpLogFont가 가리키는 LOGFONT 구조체의 lfWeightlfItalic 멤버를 사용하여 스타일을 지정해야 합니다. 스타일 이름은 시스템 사용자 인터페이스 언어에 따라 변경 될 수 있습니다.
 
CF_WYSIWYG
0x00008000L
사용되지 않습니다. ChooseFont 는 이 플래그를 무시합니다.

Windows Vista 및 Windows XP/2000: ChooseFont 는 프린터와 디스플레이 모두에서 사용할 수 있는 글꼴 선택만 허용해야 합니다. 이 플래그를 지정하면 CF_SCREENSHOTSCF_PRINTERFONTS 또는 CF_BOTH 플래그도 지정해야 합니다.

rgbColors

형식: COLORREF

CF_EFFECTS 플래그가 설정된 경우 rgbColors는 초기 텍스트 색을 지정합니다. ChooseFont가 성공적으로 반환되면 이 멤버에는 사용자가 선택한 텍스트 색의 RGB 값이 포함됩니다. COLORREF 색 값을 만들려면 RGB 매크로를 사용합니다.

lCustData

형식: LPARAM

시스템이 lpfnHook 멤버로 식별된 후크 프로시저에 전달하는 애플리케이션 정의 데이터입니다. 시스템에서 WM_INITDIALOG 메시지를 후크 프로시저로 보낼 때 메시지의 lParam 매개 변수는 대화 상자를 만들 때 지정된 CHOOSEFONT 구조체에 대한 포인터입니다. 후크 프로시저는 이 포인터를 사용하여 lCustData 값을 가져올 수 있습니다.

lpfnHook

형식: LPCFHOOKPROC

대화 상자용 메시지를 처리할 수 있는 CFHookProc 후크 프로시저에 대한 포인터입니다. flags 멤버에서 CF_ENABLEHOOK 플래그를 설정하지 않으면 이 멤버는 무시됩니다.

lpTemplateName

형식: LPCTSTR

hInstance 멤버로 식별된 모듈의 대화 상자 템플릿 리소스 이름입니다. 이 템플릿은 표준 대화 상자 템플릿으로 대체됩니다. 번호가 매겨진 대화 상자 리소스의 경우 lpTemplateNameMAKEINTRESOURCE 매크로에서 반환되는 값일 수 있습니다. flags 멤버에서 CF_ENABLETEMPLATE 플래그를 설정하지 않으면 이 멤버는 무시됩니다.

hInstance

형식: HINSTANCE

CF_ENABLETEMPLATEHANDLE 플래그가 Flags 멤버에 설정된 경우 hInstance는 대화 상자 템플릿을 포함하는 메모리 개체에 대한 핸들입니다. CF_ENABLETEMPLATE 플래그가 설정된 경우 hInstancelpTemplateName 멤버가 명명한 대화 상자 템플릿을 포함하는 모듈에 대한 핸들입니다. CF_ENABLETEMPLATEHANDLE 또는 CF_ENABLETEMPLATE 설정되지 않은 경우 이 멤버는 무시됩니다.

lpszStyle

형식: LPTSTR

스타일 데이터입니다. CF_USESTYLE 플래그가 지정된 경우 ChooseFont는 이 버퍼의 데이터를 사용하여 글꼴 스타일 콤보 상자를 초기화합니다. 사용자가 대화 상자를 닫으면 ChooseFont글꼴 스타일 콤보 상자의 문자열을 이 버퍼에 복사합니다.

nFontType

형식: WORD

SelectFont가 반환될 때 선택한 글꼴의 형식입니다. 이 멤버는 다음 값 중 하나 이상일 수 있습니다.

의미
BOLD_FONTTYPE
0x0100
글꼴 두께가 굵게 표시됩니다. 이 정보는 LOGFONT 구조체의 lfWeight 멤버에서 중복되며 FW_BOLD 동일합니다.
ITALIC_FONTTYPE
0x0200
기울임꼴 글꼴 특성이 설정됩니다. 이 정보는 LOGFONT 구조체의 lfItalic 멤버에서 중복됩니다.
PRINTER_FONTTYPE
0x4000
글꼴은 프린터 글꼴입니다.
REGULAR_FONTTYPE
0x0400
글꼴 두께는 보통입니다. 이 정보는 LOGFONT 구조체의 lfWeight 멤버에서 중복되며 FW_REGULAR 동일합니다.
SCREEN_FONTTYPE
0x2000
글꼴은 화면 글꼴입니다.
SIMULATED_FONTTYPE
0x8000
글꼴은 GDI(그래픽 디바이스 인터페이스)에 의해 시뮬레이션됩니다.

___MISSING_ALIGNMENT__

nSizeMin

형식: INT

선택할 수 있는 최소 크기입니다. chooseFontCF_LIMITSIZE 플래그가 지정된 경우에만 이 멤버를 인식합니다.

nSizeMax

형식: INT

선택할 수 있는 최대 크기입니다. chooseFontCF_LIMITSIZE 플래그가 지정된 경우에만 이 멤버를 인식합니다.

설명

참고

commdlg.h 헤더는 SELECTFONT를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 commdlg.h

추가 정보

선택Font

일반 대화 상자 라이브러리

개념

MAKEINTRESOURCE

참조