다음을 통해 공유


DLGITEMTEMPLATE 구조체(winuser.h)

대화 상자에서 컨트롤의 차원과 스타일을 정의합니다. 이러한 구조체 중 하나 이상이 DLGTEMPLATE 구조체와 결합되어 대화 상자의 표준 템플릿을 형성합니다.

구문

typedef struct {
  DWORD style;
  DWORD dwExtendedStyle;
  short x;
  short y;
  short cx;
  short cy;
  WORD  id;
} DLGITEMTEMPLATE;

멤버

style

형식:DWORD

컨트롤의 스타일입니다. 이 멤버는 창 스타일 값(예: WS_BORDER)과 하나 이상의 컨트롤 스타일 값(예: BS_PUSHBUTTON 및 ES_LEFT)의 조합일 수 있습니다.

dwExtendedStyle

형식:DWORD

창의 확장 스타일입니다. 이 멤버는 대화 상자에서 컨트롤을 만드는 데 사용되지 않지만 대화 상자 템플릿을 사용하는 애플리케이션은 이를 사용하여 다른 유형의 창을 만들 수 있습니다. 값 목록은 확장 창 스타일을 참조하세요.

x

형식: short

컨트롤의 왼쪽 위 모서리에 있는 대화 상자 단위의 x 좌표입니다. 이 좌표는 항상 대화 상자의 클라이언트 영역의 왼쪽 위 모서리를 기준으로 합니다.

y

형식: short

컨트롤의 왼쪽 위 모서리에 있는 대화 상자 단위의 y 좌표입니다. 이 좌표는 항상 대화 상자의 클라이언트 영역의 왼쪽 위 모서리를 기준으로 합니다.

cx

형식: short

컨트롤의 너비(대화 상자 단위)입니다.

cy

형식: short

컨트롤의 높이(대화 상자 단위)입니다.

id

형식: WORD

컨트롤 식별자입니다.

설명

대화 상자의 표준 템플릿에서 DLGITEMTEMPLATE 구조체는 항상 즉시 뒤에 컨트롤의 클래스, 제목 및 생성 데이터를 지정하는 세 개의 가변 길이 배열이 옵니다. 각 배열은 하나 이상의 16비트 요소로 구성됩니다.

템플릿의 각 DLGITEMTEMPLATE 구조체는 DWORD 경계에 맞춰야 합니다. 클래스 및 제목 배열은 WORD 경계에 맞춰야 합니다. 만들기 데이터 배열은 WORD 경계에 맞춰야 합니다.

DLGITEMTEMPLATE 구조 바로 다음에는 컨트롤의 창 클래스를 지정하는 클래스 배열이 있습니다. 이 배열의 첫 번째 요소가 0xFFFF 이외의 값이면 시스템은 배열을 등록된 창 클래스의 이름을 지정하는 null로 끝나는 유니코드 문자열로 처리합니다. 첫 번째 요소가 0xFFFF 경우 배열에는 미리 정의된 시스템 클래스의 서수 값을 지정하는 요소가 하나 더 있습니다. 서수는 다음 원자 값 중 하나일 수 있습니다.

의미
0x0080 단추
0x0081 편집
0x0082 정적
0x0083 목록 상자
0x0084 스크롤 막대
0x0085 콤보 상자
 

클래스 배열 다음에는 컨트롤의 초기 텍스트 또는 리소스 식별자가 포함된 제목 배열이 있습니다. 이 배열의 첫 번째 요소가 0xFFFF 경우 배열에는 실행 파일에서 아이콘과 같은 리소스의 서수 값을 지정하는 추가 요소가 하나 더 있습니다. 텍스트가 아닌 아이콘 또는 기타 리소스를 로드하고 표시하는 정적 아이콘 컨트롤과 같은 컨트롤에 리소스 식별자를 사용할 수 있습니다. 첫 번째 요소가 0xFFFF 이외의 값이면 시스템은 배열을 초기 텍스트를 지정하는 null로 끝나는 유니코드 문자열로 처리합니다.

만들기 데이터 배열은 제목 배열 뒤의 다음 WORD 경계에서 시작됩니다. 이 생성 데이터는 모든 크기와 형식일 수 있습니다. 만들기 데이터 배열의 첫 번째 단어가 0이 아닌 경우 생성 데이터의 크기(크기 단어 포함)를 바이트 단위로 나타냅니다. 컨트롤의 창 프로시저는 데이터를 해석할 수 있어야 합니다. 시스템에서 컨트롤을 만들 때 컨트롤에 보내는 WM_CREATE 메시지의 lParam 매개 변수에서 이 데이터에 대한 포인터를 전달합니다.

클래스 및 제목 배열에서 문자열을 지정하는 경우 유니코드 문자열을 사용해야 합니다. MultiByteToWideChar 함수를 사용하여 ANSI 문자열에서 유니코드 문자열을 생성합니다.

x, y, cxcy 멤버는 대화 상자 단위의 값을 지정합니다. MapDialogRect 함수를 사용하여 이러한 값을 화면 단위(픽셀)로 변환할 수 있습니다.

요구 사항

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

추가 정보

개념

CreateDialogIndirect

CreateDialogIndirectParam

CreateWindowEx

DLGITEMTEMPLATEEX

DLGTEMPLATE

DLGTEMPLATEEX

대화 상자

DialogBoxIndirect

DialogBoxIndirectParam

MapDialogRect

MultiByteToWideChar

기타 리소스

참조

WM_CREATE