PROPSHEETHEADER 구조체
속성 시트의 프레임과 페이지를 정의합니다.
구문
typedef struct {
DWORD dwSize;
DWORD dwFlags;
HWND hwndParent;
HINSTANCE hInstance;
union {
HICON hIcon;
LPCTSTR pszIcon;
};
LPCTSTR pszCaption;
UINT nPages;
union {
UINT nStartPage;
LPCTSTR pStartPage;
};
union {
LPCPROPSHEETPAGE ppsp;
HPROPSHEETPAGE *phpage;
};
PFNPROPSHEETCALLBACK pfnCallback;
union {
HBITMAP hbmWatermark;
LPCTSTR pszbmWatermark;
};
HPALETTE hplWatermark;
union {
HBITMAP hbmHeader;
LPCSTR pszbmHeader;
};
} PROPSHEETHEADER, *LPPROPSHEETHEADER;
멤버
dwSize
형식:DWORD
이 구조체의 크기(바이트)입니다. 속성 시트 관리자는 이 멤버를 사용하여 사용 중인 PROPSHEETHEADER 구조체의 버전을 확인합니다. 자세한 내용은 주의 섹션을 참조하십시오.
dwFlags
형식:DWORD
속성 시트 페이지를 만들 때 사용할 옵션을 나타내는 플래그입니다. 이 멤버는 다음 값의 조합일 수 있습니다.
값 | 의미 |
---|---|
PSH_DEFAULT(0x00000000) | 모든 구조체 멤버에 대한 기본 의미를 사용하고 일반 속성 시트를 만듭니다. 이 플래그의 값은 0이며 다른 플래그와 결합되지 않습니다. |
PSH_AEROWIZARD(0x00004000) | 버전 6.00 이상. Aero 스타일을 사용하는 마법사 속성 시트를 만듭니다. PSH_WIZARD 플래그도 설정해야 합니다. STA(단일 스레드 아파트) 모델을 사용해야 합니다. |
PSH_HASHELP(0x00000200) | 속성 시트 페이지에서 도움말 단추를 표시하도록 허용합니다. 또한 페이지를 만들 때 페이지의 PROPSHEETPAGE 구조체에서 PSP_HASHELP 플래그를 설정해야 합니다. 초기 속성 시트 페이지에서 도움말 단추를 사용하도록 설정하면 PSH_HASHELP가 자동으로 설정됩니다. 도움말 단추를 사용하도록 설정한 초기 페이지가 없는 경우 나중에 추가할 수 있는 모든 페이지에 도움말 단추를 사용하려면 PSH_HASHELP를 명시적으로 설정해야 합니다. 이 플래그는 PSH_AEROWIZARD와 함께 지원되지 않습니다. |
PSH_HEADER(0x00080000) | 버전 5.80 이상. 헤더 비트맵이 Wizard97 마법사와 함께 사용됨을 나타냅니다. 또한 PSH_WIZARD97 플래그를 설정해야 합니다. PSH_USEHBMHEADER 플래그가 설정된 경우 hbmHeader 멤버에서 헤더 비트맵을 가져옵니다. 그러지 않으면 pszbmHeader 멤버에서 헤더 비트맵을 가져옵니다. 이 플래그는 PSH_AEROWIZARD와 함께 지원되지 않습니다. |
PSH_HEADERBITMAP(0x08000000) | 버전 6.00 이상. pszbmHeader 멤버는 헤더 영역에 표시되는 비트맵을 지정합니다. PSH_AEROWIZARD와 함께 사용해야 합니다. |
PSH_MODELESS(0x00000400) | PropertySheet 함수가 모달 대화 상자 대신 모덜리스 대화 상자로 속성 시트를 만들도록 합니다. 이 플래그를 설정하면 대화 상자를 만든 직후 PropertySheet가 반환되고 PropertySheet의 반환 값은 속성 시트 대화 상자에 대한 창 핸들입니다. 이 플래그는 PSH_AEROWIZARD와 함께 지원되지 않습니다. |
PSH_NOAPPLYNOW(0x00000080) | 적용 단추를 제거합니다. 이 플래그는 PSH_AEROWIZARD와 함께 지원되지 않습니다. |
PSH_NOCONTEXTHELP(0x02000000) | 버전 5.80 이상. 일반적으로 속성 시트의 캡션 표시줄에 있는 상황에 맞는 도움말 단추(“?”)를 제거합니다. 마법사에는 이 플래그가 유효하지 않습니다. 이전 버전의 공용 컨트롤에 대한 캡션 표시줄 도움말 단추를 제거하는 방법에 대한 자세한 내용은 속성 시트 정보를 참조하세요. 이 플래그는 PSH_AEROWIZARD와 함께 지원되지 않습니다. |
PSH_NOMARGIN(0x10000000) | 버전 6.00 이상. 페이지와 프레임 사이에 여백이 삽입되지 않도록 지정합니다. PSH_AEROWIZARD와 함께 사용해야 합니다. |
PSH_PROPSHEETPAGE(0x00000008) | ppsp 멤버를 사용하고 속성 시트에 대한 페이지를 만들 때 phpage 멤버를 무시합니다. |
PSH_PROPTITLE(0x00000001) | pszCaption이 속성이 표시되는 항목의 이름임을 나타냅니다. Windows는 캡션에 대한 버전별 및 언어별 조정을 만듭니다. 예를 들어 영어에서는 “Properties for” 구가 비어 있지 않은 pszCaption 앞에 추가됩니다(그리고 pszCaption이 빈 캡션을 생성하는 경우 제목은 단순히 “Properties”임). 이 플래그를 생략하면 pszCaption이 변경 없이 사용됩니다. |
PSH_RESIZABLE(0x04000000) | 사용자가 마법사의 크기를 조정할 수 있습니다. 마법사의 프레임에 최대화 및 최소화 단추가 표시되고 프레임 크기를 조정할 수 있습니다. 이 플래그를 사용하려면 PSH_AEROWIZARD도 설정해야 합니다. |
PSH_RTLREADING(0x00000800) | 속성 시트 또는 마법사 창을 히브리어, 아랍어 등의 언어에 적합한 RTL(오른쪽에서 왼쪽) 읽기 순서로 설정합니다. 이 플래그를 지정하지 않으면 속성 시트 창은 기본적으로 LTR(왼쪽에서 오른쪽) 읽기 순서로 설정되고 마법사 창은 현재 페이지의 읽기 순서와 일치합니다. |
PSH_STRETCHWATERMARK(0x00040000) | Wizard97 스타일 마법사에서 워터마크를 늘입니다. 이 플래그는 PSH_AEROWIZARD와 함께 지원되지 않습니다. 이 스타일 플래그는 특정 애플리케이션에 대한 이전 버전과의 호환성을 제공하기 위해서만 포함됩니다. 해당 사용은 권장되지 않으며 공용 컨트롤 버전 4.0 및 4.01에서만 지원됩니다. 공용 컨트롤 버전 5.80 이상에서는 이 플래그가 무시됩니다. |
PSH_USECALLBACK(0x00000100) | 특정 이벤트가 발생할 때 pfnCallback 매개 변수로 지정된 함수를 호출합니다. 자세한 내용은 PFNPROPSHEETCALLBACK 콜백 함수에 대한 설명을 참조하세요. |
PSH_USEHBMHEADER(0x00100000) | 버전 5.80. pszbmHeader 멤버 대신 hbmHeader 멤버에서 헤더 비트맵을 가져옵니다. 또한 PSH_AEROWIZARD 플래그 또는 PSH_WIZARD97 플래그를 PSH_HEADER 플래그와 함께 설정해야 합니다. |
PSH_USEHBMWATERMARK(0x00010000) | 버전 5.80. pszbmWatermark 멤버 대신 hbmWatermark 멤버에서 워터마크 비트맵을 가져옵니다. 또한 PSH_WIZARD97 및 PSH_WATERMARK를 설정해야 합니다. 이 플래그는 PSH_AEROWIZARD와 함께 지원되지 않습니다. |
PSH_USEHICON(0x00000002) | 속성 시트 대화 상자의 제목 표시줄에서 hIcon을 작은 아이콘으로 사용합니다. |
PSH_USEHPLWATERMARK(0x00020000) | 버전 5.80. 기본 팔레트 대신 hplWatermark 멤버가 가리키는 HPALETTE 구조체를 사용하여 Wizard97 마법사의 워터마크 비트맵 및/또는 헤더 비트맵을 그립니다. 또한 PSH_WIZARD97과 PSH_WATERMARK 또는 PSH_HEADER를 설정해야 합니다. 이 플래그는 PSH_AEROWIZARD와 함께 지원되지 않습니다. |
PSH_USEICONID(0x00000004) | pszIcon을 아이콘 리소스의 이름으로 사용하여 속성 시트 대화 상자의 제목 표시줄에서 작은 아이콘으로 로드하고 사용합니다. |
PSH_USEPAGELANG(0x00200000) | 버전 5.80. 속성 시트의 언어를 첫 번째 페이지의 리소스에서 가져오도록 지정합니다. 해당 페이지는 리소스 식별자를 통해 지정해야 합니다. |
PSH_USEPSTARTPAGE(0x00000040) | 속성 시트의 초기 페이지를 표시할 때 nStartPage 멤버 대신 pStartPage 멤버를 사용합니다. |
PSH_WATERMARK(0x00008000) | 버전 5.80. PSP_HIDEHEADER 스타일이 있는 페이지에서 Wizard97 마법사와 함께 워터마크 비트맵을 사용하도록 지정합니다. 또한 PSH_WIZARD97 플래그를 설정해야 합니다. PSH_USEHBMWATERMARK를 설정하지 않은 경우 pszbmWatermark 멤버에서 워터마크 비트맵을 가져옵니다. 이 경우 hbmWatermark 멤버에서 헤더 비트맵을 가져옵니다. 이 플래그는 PSH_AEROWIZARD와 함께 지원되지 않습니다. |
PSH_WIZARD(0x00000020) | 마법사 속성 시트를 만듭니다. PSH_AEROWIZARD를 사용하는 경우 이 플래그도 설정해야 합니다. |
PSH_WIZARD97(0x01000000) | 버전 5.80. 내부 페이지의 헤더와 외부 페이지의 왼쪽에서 비트맵을 지원하는 Wizard97 스타일 속성 시트를 만듭니다. 이 플래그는 PSH_AEROWIZARD와 함께 지원되지 않습니다. |
PSH_WIZARDCONTEXTHELP(0x00001000) | 일반적으로 마법사의 캡션 표시줄에 없는 상황에 맞는 도움말 단추(“?”)를 추가합니다. 일반 속성 시트에는 이 플래그가 유효하지 않습니다. 이 플래그는 PSH_AEROWIZARD와 함께 지원되지 않습니다. |
PSH_WIZARDHASFINISH(0x00000010) | 마법사에서 항상 마침 단추를 표시합니다. 또한 PSH_WIZARD, PSH_WIZARD97 또는 PSH_AEROWIZARD를 설정해야 합니다. |
PSH_WIZARD_LITE(0x00400000) | 버전 5.80. Wizard-lite 스타일을 사용합니다. 이 스타일은 PSH_WIZARD97 모양과 비슷하지만 PSH_WIZARD와 매우 유사하게 구현됩니다. 페이지의 서식을 지정하는 방법에는 몇 가지 제한 사항이 있습니다. 예를 들어 적용된 테두리가 없고 PSH_WIZARD_LITE 스타일은 Wizard97이 그리는 방식으로 워터마크 및 헤더 비트맵을 그리지 않습니다. 이 플래그는 PSH_AEROWIZARD와 함께 지원되지 않습니다. |
hwndParent
형식: HWND
속성 시트의 소유자 창에 대한 핸들입니다.
hInstance
형식: HINSTANCE
아이콘, 제목 문자열 리소스, 시작 페이지 이름, 헤더 비트맵 또는 워터마크를 로드할 원본 인스턴스에 대한 핸들입니다. pszIcon, pszCaption, pStartPage, pszbmHeader 또는 pszbmWatermark 멤버가 로드할 리소스를 식별하는 경우 이 멤버를 지정해야 합니다.
hIcon
형식: HICON
속성 시트 대화 상자의 제목 표시줄에서 작은 아이콘으로 사용할 아이콘에 대한 핸들입니다. 이 멤버는 dwFlags 멤버에 PSH_USEHICON이 포함된 경우 사용됩니다. 이 멤버는 pszIcon을 사용하여 공용 구조체로 선언됩니다.
pszIcon
형식: LPCTSTR
속성 시트 대화 상자의 제목 표시줄에서 작은 아이콘으로 사용할 아이콘 리소스입니다. 이 멤버는 dwFlags 멤버에 PSH_USEICONID가 포함된 경우 사용됩니다. 이 멤버는 아이콘 리소스의 식별자 또는 아이콘 리소스의 이름을 지정하는 문자열의 주소를 지정할 수 있습니다. 두 경우에 모두 hInstance 멤버에서 제공하는 인스턴스에서 아이콘이 로드됩니다. 이 멤버는 hIcon을 사용하여 공용 구조체로 선언됩니다.
pszCaption
형식: LPCTSTR
속성 시트 대화 상자의 제목입니다. 이 멤버는 문자열 리소스의 식별자(hInstance 멤버가 지정한 인스턴스에서 로드됨) 또는 제목을 지정하는 문자열의 주소를 지정할 수 있습니다. dwFlags 멤버에 PSH_PROPTITLE이 포함된 경우 Properties for 문자열이 제목의 시작 부분에 삽입됩니다. Wizard97 마법사에는 이 필드가 무시됩니다. Aero 마법사의 경우 PSH_PROPTITLE 플래그가 설정되었는지 여부에 관계없이 문자열만 캡션에 사용됩니다.
nPages
형식: UINT
ppsp 또는 phpage 배열에 제공된 속성 시트 페이지 수입니다.
nStartPage
형식: UINT
속성 시트 대화 상자를 만들 때 나타나는 초기 페이지의 0부터 시작하는 인덱스입니다. 이 멤버는 dwFlags 멤버에 PSH_USEPSTARTPAGE 플래그가 포함되지 않은 경우 사용됩니다. 이 멤버는 pStartPage를 사용하여 공용 구조체로 선언됩니다.
pStartPage
형식: LPCTSTR
속성 시트 대화 상자를 만들 때 나타나는 초기 페이지의 이름입니다. 이 멤버는 dwFlags 멤버에 PSH_USESTARTPAGE 플래그가 포함된 경우 사용됩니다. 이 멤버는 문자열 리소스의 식별자(hInstance 멤버가 지정한 인스턴스에서 로드됨) 또는 이름을 지정하는 문자열의 주소를 지정할 수 있습니다. 시작 페이지 이름이 페이지의 캡션과 일치합니다. 이 멤버는 nStartPage를 사용하여 공용 구조체로 선언됩니다.
ppsp
형식: LPCPROPSHEETPAGE
속성 시트의 페이지를 정의하는 PROPSHEETPAGE 구조체의 배열에 대한 포인터입니다. dwFlags 멤버에 PSH_PROPSHEETPAGE가 포함되지 않으면 이 멤버는 무시됩니다. PROPSHEETPAGE 구조체는 크기가 가변적입니다. ppsp가 가리키는 배열을 구문 분석하는 애플리케이션은 각 페이지의 크기를 고려해야 합니다. 이 멤버는 phpage를 사용하여 공용 구조체로 선언됩니다.
phpage
형식: HPROPSHEETPAGE*
속성 시트 페이지의 핸들 배열에 대한 포인터입니다. 이 멤버는 dwFlags 멤버에 PSH_PROPSHEETPAGE가 포함되지 않은 경우 사용됩니다. 각 핸들은 CreatePropertySheetPage 함수에 대한 이전 호출에 의해 만들어져야 합니다. PropertySheet 함수가 반환되면 phpage 배열의 HPROPSHEETPAGE 핸들이 제거됩니다. 이 멤버는 ppsp를 사용하여 공용 구조체로 선언됩니다.
pfnCallback
형식: PFNPROPSHEETCALLBACK
특정 이벤트가 발생할 때 호출되는 애플리케이션 정의 콜백 함수에 대한 포인터입니다. 콜백 함수에 대한 자세한 내용은 PFNPROPSHEETCALLBACK 콜백 함수에 대한 설명을 참조하세요. dwFlags 멤버에 PSH_USECALLBACK이 포함되지 않으면 이 멤버는 무시됩니다.
hbmWatermark
형식: HBITMAP
버전 5.80 이상. 워터마크 비트맵에 대한 핸들입니다. dwFlags 멤버에 PSH_USEHBMWATERMARK가 포함되지 않으면 이 멤버는 무시됩니다.
pszbmWatermark
형식: LPCTSTR
버전 5.80 이상. 워터마크로 사용할 비트맵 리소스입니다. 이 멤버는 비트맵 리소스의 식별자 또는 비트맵 리소스의 이름을 지정하는 문자열의 주소를 지정할 수 있습니다. dwFlags 멤버에 PSH_USEHBMWATERMARK가 포함된 경우 이 멤버는 무시됩니다.
hplWatermark
형식: HPALETTE
버전 5.80 이상. 워터마크 비트맵 및/또는 헤더 비트맵을 그리는 데 사용되는 HPALETTE 구조체입니다. dwFlags 멤버에 PSH_USEHPLWATERMARK가 포함되지 않으면 이 멤버는 무시됩니다.
hbmHeader
형식: HBITMAP
버전 5.80 이상. 헤더 비트맵에 대한 핸들입니다. dwFlags 멤버에 PSH_USEHBMHEADER가 포함되지 않으면 이 멤버는 무시됩니다.
pszbmHeader
형식: LPCSTR
버전 5.80 이상. 헤더로 사용할 비트맵 리소스입니다. 이 멤버는 비트맵 리소스의 식별자 또는 비트맵 리소스의 이름을 지정하는 문자열의 주소를 지정할 수 있습니다. dwFlags 멤버에 PSH_USEHBMHEADER가 포함된 경우 이 멤버는 무시됩니다.
설명
사용자가 대화 상자를 확대하는 큰 글꼴과 같은 설정을 선택하면 시작 및 마침 페이지에 그려진 워터마크도 확대됩니다. 원래 비트맵의 크기와 위치는 동일하게 유지됩니다. 추가 영역은 비트맵의 왼쪽 위에 있는 픽셀 색으로 채워집니다.
PSH_WIZARD, PSH_WIZARD97 및 PSH_WIZARD_LITE 스타일은 상호 호환되지 않습니다. 이 스타일 플래그 중 하나만 설정해야 합니다. PSH_AEROWIZARD는 PSH_WIZARD와 결합해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
헤더 | Prsht.h |
유니코드 및 ANSI 이름 | PROPSHEETHEADERW(유니코드) 및 PROPSHEETHEADERA(ANSI) |