DLGTEMPLATEEX 구조체
확장 대화 상자 템플릿은 대화 상자를 설명하고 대화 상자의 컨트롤 수를 지정하는 DLGTEMPLATEEX 헤더로 시작합니다. 대화 상자의 각 컨트롤에 대해 확장된 대화 상자 템플릿에는 DLGITEMTEMPLATEEX 형식을 사용하여 컨트롤을 설명하는 데이터 블록이 있습니다.
DLGTEMPLATEEX 구조체는 표준 헤더 파일에 정의되어 있지 않습니다. 구조 정의는 대화 상자에 대한 확장 템플릿의 형식을 설명하기 위해 여기에 제공됩니다.
구문
typedef struct {
WORD dlgVer;
WORD signature;
DWORD helpID;
DWORD exStyle;
DWORD style;
WORD cDlgItems;
short x;
short y;
short cx;
short cy;
sz_Or_Ord menu;
sz_Or_Ord windowClass;
WCHAR title[titleLen];
WORD pointsize;
WORD weight;
BYTE italic;
BYTE charset;
WCHAR typeface[stringLen];
} DLGTEMPLATEEX;
멤버
-
dlgVer
-
형식: WORD
-
확장 대화 상자 템플릿의 버전 번호입니다. 이 멤버는 1로 설정해야 합니다.
-
서명
-
형식: WORD
-
템플릿이 확장 대화 상자 템플릿인지 여부를 나타냅니다. 서명이 0xFFFF 경우 확장된 대화 상자 템플릿입니다. 이 경우 dlgVer 멤버는 템플릿 버전 번호를 지정합니다. 서명이 0xFFFF 이외의 값인 경우 DLGTEMPLATE 및 DLGITEMTEMPLATE 구조를 사용하는 표준 대화 상자 템플릿입니다.
-
helpID
-
형식:DWORD
-
대화 상자 창에 대한 도움말 컨텍스트 식별자입니다. 시스템에서 WM_HELP 메시지를 보내면 HELPINFO 구조체의 wContextId 멤버에서 이 값을 전달합니다.
-
exStyle
-
형식:DWORD
-
확장된 창 스타일입니다. 이 멤버는 대화 상자를 만들 때 사용되지 않지만 대화 상자 템플릿을 사용하는 애플리케이션은 이 멤버를 사용하여 다른 유형의 창을 만들 수 있습니다. 값 목록은 확장 창 스타일을 참조하세요.
-
style
-
형식:DWORD
-
대화 상자의 스타일입니다. 이 멤버는 창 스타일 값 과 대화 상자 스타일 값의 조합일 수 있습니다.
스타일에 DS_SETFONT 또는 DS_SHELLFONT 대화 상자 스타일이 포함된 경우 확장 대화 상자 템플릿의 DLGTEMPLATEEX 헤더에는 클라이언트 영역의 텍스트에 사용할 글꼴과 대화 상자의 컨트롤을 설명하는 4개의 추가 멤버(점,가중치, 기울임꼴 및 서체)가 포함됩니다. 가능하면 시스템에서 이러한 멤버에 지정된 값에 따라 글꼴을 만듭니다. 그런 다음 시스템은 대화 상자와 각 컨트롤에 WM_SETFONT 메시지를 보내 글꼴에 대한 핸들을 제공합니다.
자세한 내용은 대화 상자 글꼴을 참조하세요.
-
cDlgItems
-
형식: WORD
-
대화 상자의 컨트롤 수입니다.
-
x
-
형식: short
-
대화 상자의 왼쪽 위 모서리에 있는 x 좌표(대화 상자 단위)입니다.
-
y
-
형식: short
-
대화 상자의 왼쪽 위 모서리에 있는 대화 상자 단위의 y 좌표입니다.
-
Cx
-
형식: short
-
대화 상자의 너비(대화 상자 단위)입니다.
-
cy
-
형식: short
-
대화 상자의 높이(대화 상자 단위)입니다.
-
메뉴
-
형식: sz_Or_Ord
-
대화 상자의 메뉴 리소스를 식별하는 16비트 요소의 가변 길이 배열입니다. 이 배열의 첫 번째 요소가 0x0000 경우 대화 상자에 메뉴가 없고 배열에 다른 요소가 없습니다. 첫 번째 요소가 0xFFFF 경우 배열에는 실행 파일에서 메뉴 리소스의 서수 값을 지정하는 추가 요소가 하나 있습니다. 첫 번째 요소에 다른 값이 있으면 시스템은 배열을 실행 파일의 메뉴 리소스 이름을 지정하는 null로 끝나는 유니코드 문자열로 처리합니다.
-
windowClass
-
형식: sz_Or_Ord
-
대화 상자의 창 클래스를 식별하는 16비트 요소의 가변 길이 배열입니다. 배열의 첫 번째 요소가 0x0000 경우 시스템은 대화 상자에 미리 정의된 대화 상자 클래스를 사용하고 배열에는 다른 요소가 없습니다. 첫 번째 요소가 0xFFFF 경우 배열에는 미리 정의된 시스템 창 클래스의 서수 값을 지정하는 추가 요소가 하나 있습니다. 첫 번째 요소에 다른 값이 있으면 시스템은 배열을 등록된 창 클래스의 이름을 지정하는 null로 끝나는 유니코드 문자열로 처리합니다.
-
title
-
형식: WCHAR[titleLen]
-
대화 상자의 제목입니다. 이 배열의 첫 번째 요소가 0x0000 경우 대화 상자에 제목이 없고 배열에 다른 요소가 없습니다.
-
pointsize
-
형식: WORD
-
대화 상자의 텍스트와 해당 컨트롤에 사용할 글꼴의 포인트 크기입니다.
이 멤버는 스타일 멤버가 DS_SETFONT 또는 DS_SHELLFONT 지정하는 경우에만 존재합니다.
-
weight
-
형식: WORD
-
글꼴 두께입니다. LOGFONT 구조체의 lfWeight 멤버에 대해 나열된 값일 수 있지만 사용되는 모든 값은 자동으로 FW_NORMAL 변경됩니다.
이 멤버는 스타일 멤버가 DS_SETFONT 또는 DS_SHELLFONT 지정하는 경우에만 존재합니다.
-
기울임꼴
-
형식: BYTE
-
글꼴이 기울임꼴인지 여부를 나타냅니다. 이 값이 TRUE이면 글꼴이 기울임꼴입니다.
이 멤버는 스타일 멤버가 DS_SETFONT 또는 DS_SHELLFONT 지정하는 경우에만 존재합니다.
-
문자셋
-
형식: BYTE
-
사용할 문자 집합입니다. 자세한 내용은 LOGFONT의 lfcharset 멤버를 참조하세요.
이 멤버는 스타일 멤버가 DS_SETFONT 또는 DS_SHELLFONT 지정하는 경우에만 존재합니다.
-
서체
-
형식: WCHAR[stringLen]
-
글꼴의 서체 이름입니다.
이 멤버는 스타일 멤버가 DS_SETFONT 또는 DS_SHELLFONT 지정하는 경우에만 존재합니다.
설명
CreateDialogIndirectParam, DialogBoxIndirectParam, CreateDialogIndirect 및 DialogBoxIndirect 함수에서 표준 대화 상자 템플릿 대신 확장 대화 상자 템플릿을 사용할 수 있습니다.
확장 대화 상자 템플릿의 DLGTEMPLATEEX 헤더 다음에는 대화 상자의 컨트롤을 설명하는 하나 이상의 DLGITEMTEMPLATEEX 구조가 있습니다. DLGITEMTEMPLATEEX 구조체의 cDlgItems 멤버는 템플릿에서 이어지는 DLGITEMTEMPLATEEX 구조체의 수를 지정합니다.
템플릿의 각 DLGITEMTEMPLATEEX 구조체는 DWORD 경계에 맞춰야 합니다. 스타일 멤버가 DS_SETFONT 또는 DS_SHELLFONT 스타일을 지정하는 경우 첫 번째 DLGITEMTEMPLATEEX 구조체는 서체 문자열 뒤에 있는 첫 번째 DWORD 경계에서 시작됩니다. 이러한 스타일을 지정하지 않으면 첫 번째 구조체가 제목 문자열 뒤의 첫 번째 DWORD 경계에서 시작됩니다.
메뉴, windowClass, 제목 및 서체 배열은 WORD 경계에 맞춰야 합니다.
메뉴, windowClass, 제목 및 서체 배열에서 문자열을 지정하는 경우 유니코드 문자열을 사용해야 합니다. MultiByteToWideChar 함수를 사용하여 ANSI 문자열에서 이러한 유니코드 문자열을 생성합니다.
x, y, cx 및 cy 멤버는 대화 상자 단위의 값을 지정합니다. MapDialogRect 함수를 사용하여 이러한 값을 화면 단위(픽셀)로 변환할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 |
Windows 2000 Server[데스크톱 앱만] |