다음을 통해 공유


PROPSHEETPAGE 구조체

속성 시트의 페이지를 정의합니다.

구문

typedef struct {
    DWORD      dwSize;
    DWORD      dwFlags;
    HINSTANCE  hInstance;
    union {
        LPCSTR                 pszTemplate;
        PROPSHEETPAGE_RESOURCE pResource;
    };
    union {
        HICON  hIcon;
        LPCSTR pszIcon;
    };
    LPCSTR          pszTitle;
    DLGPROC         pfnDlgProc;
    LPARAM          lParam;
    LPFNPSPCALLBACK pfnCallback;
    UINT            *pcRefParent;
    LPCTSTR         pszHeaderTitle;
    LPCTSTR         pszHeaderSubTitle;
    HANDLE          hActCtx;
    union 
    {
        HBITMAP     hbmHeader;
        LPCSTR      pszbmHeader;
    }
} PROPSHEETPAGE, *LPPROPSHEETPAGE;

멤버

dwSize

형식:DWORD

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

dwFlags

형식:DWORD

속성 시트 페이지를 만들 때 사용할 옵션을 나타내는 플래그입니다. 이 멤버는 다음 값의 조합일 수 있습니다.

의미
PSP_DEFAULT 모든 구조체 멤버에 대한 기본 의미를 사용합니다. 이 플래그는 Aero 스타일 마법사(PSH_AEROWIZARD)를 사용할 때 지원되지 않습니다.
PSP_DLGINDIRECT pResource 멤버가 가리키는 메모리의 대화 상자 템플릿에서 페이지를 만듭니다. PropertySheet 함수는 메모리에 있는 템플릿이 쓰기로 보호되지 않는다고 가정합니다. 읽기 전용 템플릿으로 인해 일부 버전의 Windows에서 예외가 발생합니다.
PSP_HASHELP 페이지가 활성 상태일 때 속성 시트 도움말 단추를 사용하도록 설정합니다. 이 플래그는 Aero 스타일 마법사(PSH_AEROWIZARD)를 사용할 때 지원되지 않습니다.
PSP_HIDEHEADER 버전 5.80 이상. 페이지를 선택할 때 마법사 속성 시트가 머리글 영역을 숨기도록 합니다. 워터마크가 제공된 경우 페이지 왼쪽에 그려집니다. 이 플래그는 시작 및 완료 페이지에 대해 설정해야 하며 내부 페이지에서는 생략해야 합니다. 이 플래그는 Aero 스타일 마법사(PSH_AEROWIZARD)를 사용할 때 지원되지 않습니다.
PSP_PREMATURE 버전 4.71 이상. 속성 시트를 만들 때 페이지를 만들도록 합니다. 이 플래그를 지정하지 않으면 페이지를 처음 선택할 때까지 만들어지지 않습니다. 이 플래그는 Aero 스타일 마법사(PSH_AEROWIZARD)를 사용할 때 지원되지 않습니다.
PSP_RTLREADING pszTitle이 표시되는 방향을 반전합니다. 일반 창에는 pszTitle, 왼쪽에서 오른쪽(LTR)을 포함한 모든 텍스트가 표시됩니다. RTL(오른쪽에서 왼쪽)을 읽는 히브리어 또는 아랍어와 같은 언어의 경우 창을 미러링할 수 있으며 모든 텍스트가 RTL로 표시됩니다. PSP_RTLREADING이 설정된 경우 pszTitle은 대신 일반 부모 창에서 RTL을 읽고 미러된 부모 창에서 LTR을 읽습니다.
PSP_USECALLBACK 이 구조체에서 정의한 속성 시트 페이지를 만들거나 삭제할 때 pfnCallback 멤버가 지정한 함수를 호출합니다.
PSP_USEFUSIONCONTEXT 버전 60 이상. 활성화 컨텍스트를 사용합니다. 활성화 컨텍스트를 사용하려면 이 플래그를 설정하고 활성화 컨텍스트 핸들을 hActCtx에 할당해야 합니다. 설명을 참조하세요.
PSP_USEHEADERSUBTITLE 버전 5.80 이상. pszHeaderSubTitle 멤버가 가리키는 문자열을 Wizard97 페이지의 헤더 영역 부제목으로 표시합니다. 이 플래그를 사용하려면 연결된 PROPSHEETHEADER 구조체의 dwFlags 멤버에서도 PSH_WIZARD97 플래그를 설정해야 합니다. PSP_HIDEHEADER가 설정된 경우 PSP_USEHEADERSUBTITLE 플래그는 무시됩니다. 에어로 스타일 마법사에서 제목은 클라이언트 영역의 위쪽 근처에 나타납니다.
PSP_USEHEADERTITLE 버전 5.80 이상. pszHeaderTitle 멤버가 가리키는 문자열을 Wizard97 내부 페이지의 머리글에 제목으로 표시합니다. 또한 연결된 PROPSHEETHEADER 구조체의 dwFlags 멤버에서 PSH_WIZARD97 플래그를 설정해야 합니다. PSP_HIDEHEADER가 설정된 경우 PSP_USEHEADERTITLE 플래그는 무시됩니다. 이 플래그는 Aero 스타일 마법사(PSH_AEROWIZARD)를 사용할 때 지원되지 않습니다.
PSP_USEHICON 페이지의 탭에 있는 작은 아이콘으로 hIcon을 사용합니다. 이 플래그는 Aero 스타일 마법사(PSH_AEROWIZARD)를 사용할 때 지원되지 않습니다.
PSP_USEICONID pszIcon을 아이콘 리소스의 이름으로 사용하여 페이지의 탭에서 작은 아이콘으로 로드하고 사용합니다. 이 플래그는 Aero 스타일 마법사(PSH_AEROWIZARD)를 사용할 때 지원되지 않습니다.
PSP_USEREFPARENT 이 구조체에서 만든 속성 시트 페이지의 수명 동안 pcRefParent 멤버가 지정한 참조 수를 유지 관리합니다.
PSP_USETITLE 대화 상자 템플릿에 저장된 제목 대신 pszTitle 멤버를 속성 시트 대화 상자의 제목으로 사용합니다. 이 플래그는 Aero 스타일 마법사(PSH_AEROWIZARD)를 사용할 때 지원되지 않습니다.

hInstance

형식: HINSTANCE

아이콘 또는 문자열 리소스를 로드할 인스턴스에 대한 핸들입니다. pszIcon, pszTitle, pszHeaderTitle 또는 pszHeaderSubTitle 멤버가 로드할 리소스를 식별하는 경우 hInstance를 지정해야 합니다.

pszTemplate

형식: LPCSTR

페이지를 만드는 데 사용할 대화 상자 템플릿입니다. 이 멤버는 템플릿의 리소스 식별자 또는 템플릿 이름을 지정하는 문자열의 주소를 지정할 수 있습니다. dwFlags 멤버의 PSP_DLGINDIRECT 플래그가 설정된 경우 pszTemplate은 무시됩니다. 이 멤버는 pResource를 사용하여 공용 구조체로 선언됩니다.

pResource

형식: LPCDLGTEMPLATE

메모리의 대화 상자 템플릿에 대한 포인터입니다. PropertySheet 함수는 템플릿이 쓰기로 보호되지 않는다고 가정합니다. 읽기 전용 템플릿으로 인해 일부 버전의 Windows에서 예외가 발생합니다. 이 멤버를 사용하려면 dwFlags 멤버에서 PSP_DLGINDIRECT 플래그를 설정해야 합니다. 이 멤버는 pszTemplate을 사용하여 공용 구조체로 선언됩니다.

hIcon

형식: HICON

페이지 탭에서 아이콘으로 사용할 아이콘에 대한 핸들입니다. dwFlags 멤버에 PSP_USEHICON이 포함되지 않으면 이 멤버는 무시됩니다. 이 멤버는 pszIcon을 사용하여 공용 구조체로 선언됩니다.

pszIcon

형식: LPCSTR

페이지 탭에서 아이콘으로 사용할 아이콘 리소스입니다. 이 멤버는 아이콘 리소스의 식별자 또는 아이콘 리소스의 이름을 지정하는 문자열의 주소를 지정할 수 있습니다. 이 멤버를 사용하려면 dwFlags 멤버에서 PSP_USEICONID 플래그를 설정해야 합니다. 이 멤버는 hIcon과 공용 구조체로 선언됩니다.

pszTitle

형식: LPCSTR

속성 시트 대화 상자의 제목입니다. 이 제목은 대화 상자 템플릿에 지정된 제목을 재정의합니다. 이 멤버는 문자열 리소스의 식별자 또는 제목을 지정하는 문자열의 주소를 지정할 수 있습니다. 이 멤버를 사용하려면 dwFlags 멤버에서 PSP_USETITLE 플래그를 설정해야 합니다.

pfnDlgProc

형식: DLGPROC

페이지의 대화 상자 프로시저에 대한 포인터입니다. 페이지는 모덜리스 대화 상자로 만들어지므로 대화 상자 프로시저가 EndDialog 함수를 호출하면 안 됩니다.

lParam

형식: LPARAM

페이지를 만들면 페이지의 PROPSHEETPAGE 구조체의 복사본이 WM_INITDIALOG 메시지와 함께 대화 상자 프로시저에 전달됩니다. lParam 멤버는 대화 상자 프로시저에 애플리케이션 관련 정보를 전달할 수 있도록 제공됩니다. 페이지 자체에는 영향을 주지 않습니다.

pfnCallback

형식: LPFNPSPCALLBACK

페이지가 만들어질 때 및 제거될 때 호출되는 애플리케이션 정의 콜백 함수에 대한 포인터입니다. 콜백 함수에 대한 자세한 내용은 LPFNPSPCALLBACKA 콜백 함수를 참조하세요. 이 멤버를 사용하려면 dwFlags 멤버에서 PSP_USECALLBACK 플래그를 설정해야 합니다.

pcRefParent

형식: UINT*

참조 개수 값에 대한 포인터입니다. 이 멤버를 사용하려면 dwFlags 멤버에서 PSP_USEREFPARENT 플래그를 설정해야 합니다.

참고

속성 시트 페이지를 만들면 pcRefParent에서 가리키는 값이 증가합니다. PROPSHEETHEADERdwFlags 멤버에서 PSH_PROPSHEETPAGE 플래그를 설정하고 PropertySheet 함수를 호출하여 속성 시트 페이지를 암시적으로 만듭니다. CreatePropertySheetPage 함수를 사용하여 명시적으로 수행할 수 있습니다. 속성 시트 페이지가 제거되면 pcRefParent 멤버가 가리키는 값이 감소합니다. 속성 시트가 제거되면 자동으로 발생합니다. DestroyPropertySheetPage 함수를 사용하여 속성 시트 페이지를 명시적으로 삭제할 수 있습니다.

pszHeaderTitle

형식: LPCTSTR

버전 5.80 이상. 머리글 영역의 제목입니다. Wizard97 스타일 마법사에서 이 멤버를 사용하려면 다음도 수행해야 합니다.

  • dwFlags 멤버에서 PSP_USEHEADERTITLE 플래그를 설정합니다.
  • 페이지의 PROPSHEETHEADER 구조체의 dwFlags 멤버에서 PSH_WIZARD97 플래그를 설정합니다.
  • dwFlags 멤버의 PSP_HIDEHEADER 플래그가 설정되지 않았는지 확인합니다.

pszHeaderSubTitle

형식: LPCTSTR

버전 5.80 이상. 헤더 영역의 부제목입니다. 템플릿을 사용하려면 다음을 수행해야 합니다.

  • dwFlags 멤버에서 PSP_USEHEADERSUBTITLE 플래그를 설정합니다.
  • 페이지의 PROPSHEETHEADER 구조체의 dwFlags 멤버에서 PSH_WIZARD97 플래그를 설정합니다.
  • dwFlags 멤버의 PSP_HIDEHEADER 플래그가 설정되지 않았는지 확인합니다.

참고

이 멤버는 Aero 스타일 마법사를 사용할 때 무시됩니다(PSH_AEROWIZARD).

hActCtx

형식: HANDLE

버전 6.0 이상. 활성화 컨텍스트 핸들입니다. CreateActCtx를 사용하여 활성화 컨텍스트를 만들 때 반환되는 핸들로 이 멤버를 설정합니다. 시스템은 대화 상자를 만들기 전에 이 컨텍스트를 활성화합니다. 전역 매니페스트를 사용하는 경우 이 멤버를 사용할 필요가 없습니다.

hbmHeader

형식: HBITMAP

이 멤버는 pszbmHeader를 사용하여 공용 구조체로 선언됩니다.

pszbmHeader

형식: LPCSTR

이 멤버는 hbmHeader를 사용하여 공용 구조체로 선언됩니다.

설명

Comctl32.dll 버전 6 이상은 재배포할 수 없습니다. Comctl32.dll 버전 6 이상을 사용하려면 매니페스트에서 .dll 파일을 지정합니다. 매니페스트에 대한 자세한 내용은 시각적 스타일 사용을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
헤더 Prsht.h
유니코드 및 ANSI 이름 PROPSHEETHEADERW(유니코드) 및 PROPSHEETHEADERA(ANSI)