다음을 통해 공유


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)