EXTPUSH 구조체(compstui.h)
EXTPUSH 구조체는 속성 시트 페이지 옵션에 추가할 수 있는 확장된 푸시 단추를 지정하기 위해 CPSUI 애플리케이션(프린터 인터페이스 DLL 포함)에서 사용됩니다. 단추를 누르면 새 대화 상자가 표시될 수 있습니다.
구문
typedef struct _EXTPUSH {
WORD cbSize;
WORD Flags;
LPTSTR pTitle;
union {
DLGPROC DlgProc;
FARPROC pfnCallBack;
} DUMMYUNIONNAME;
ULONG_PTR IconID;
union {
WORD DlgTemplateID;
HANDLE hDlgTemplate;
} DUMMYUNIONNAME2;
ULONG_PTR dwReserved[3];
} EXTPUSH, *PEXTPUSH;
멤버
cbSize
EXTPUSH 구조체의 크기(바이트)입니다.
Flags
비트 플래그는 다음 중 하나일 수 있습니다.
플래그 | 설명 |
---|---|
EPF_ICONID_AS_HICON | 설정하면 IconID 멤버에 아이콘 핸들이 포함됩니다. 설정하지 않으면 IconID 멤버에 아이콘 리소스 식별자가 포함됩니다. |
EPF_INCLUDE_SETUP_TITLE | 설정된 경우 CPSUI는 pTitle이 가리키는 문자열에 "설정"을 추가합니다. |
EPF_NO_DOT_DOT_DOT | 설정된 경우 CPSUI는 "..."를 추가하지 않습니다. pTitle이 가리키는 문자열에 대한 입니다. |
EPF_OVERLAY_NO_ICON | 설정된 경우 CPSUI는 IDI_CPSUI_NO 아이콘을 IconID 멤버로 식별된 아이콘에 오버레이합니다. |
EPF_OVERLAY_STOP_ICON | 설정된 경우 CPSUI는 IDI_CPSUI_STOP 아이콘을 IconID 멤버로 식별된 아이콘에 오버레이합니다. |
EPF_OVERLAY_WARNING_ICON | 설정된 경우 CPSUI는 IDI_CPSUI_WARNING 아이콘을 IconID 멤버로 식별된 아이콘에 오버레이합니다. |
EPF_PUSH_TYPE_DLGPROC | 설정된 경우 DlgProc 및 DlgTemplateID/hDlgTemplate 멤버가 유효합니다. 설정하지 않으면 pfnCallBack 멤버가 유효합니다. |
EPF_USE_HDLGTEMPLATE | 설정된 경우 hDlgTemplate 에는 템플릿 핸들이 포함됩니다. 설정하지 않으면 DlgTemplateID 에 템플릿 리소스 식별자가 포함됩니다. |
pTitle
누름 단추 제목을 나타내는 문자열 식별자입니다. NULL로 끝나는 문자열에 대한 32비트 포인터이거나 HIWORD가 0으로 설정된 16비트 문자열 리소스 식별자일 수 있습니다.
DUMMYUNIONNAME
DUMMYUNIONNAME 공용 구조체를 정의합니다.
DUMMYUNIONNAME.DlgProc
푸시 단추의 대화 상자에 대한 메시지를 처리하는 대화 상자 프로시저에 대한 DLGPROC 형식 포인터입니다. DialogProc 사용에 대한 자세한 내용은 아래의 설명 섹션을 참조하세요.
이 포인터가 제공되면 플래그에서 EPF_PUSH_TYPE_DLGPROC 설정해야 합니다.
DUMMYUNIONNAME.pfnCallBack
CPSUICB_REASON_PUSHBUTTON 이유를 처리하기 위한 _CPSUICALLBACK 형식 콜백 함수에 대한 포인터입니다. 자세한 내용은 아래 설명 부분을 참조하십시오.
이 포인터가 제공되면 플래그에서 EPF_PUSH_TYPE_DLGPROC 지워야 합니다.
IconID
다음 아이콘 식별자 중 하나입니다.
아이콘 리소스 식별자입니다. 애플리케이션에서 정의하거나 CPSUI에서 제공하는 IDI_CPSUI 접두사 아이콘 리소스 식별자 중 하나일 수 있습니다.
아이콘 핸들입니다. 핸들이 지정된 경우 flags 멤버에서 EPF_ICONID_AS_HICON 설정해야 합니다.
CPSUI는 누름 단추 옆에 아이콘을 표시합니다. 이 값이 0이면 아이콘이 표시되지 않습니다.
DUMMYUNIONNAME2
DUMMYUNIONNAME2 공용 구조체를 정의합니다.
DUMMYUNIONNAME2.DlgTemplateID
대화 상자의 리소스 ID를 지정합니다.
DlgTemplateID = 0이면 일반 UI는 다음 매개 변수를 사용하여 DlgProc를 호출합니다.
DlgProc(hDlg, WM_USER, NULL, (LPARAM)pCPSUICBParam);
DUMMYUNIONNAME2.hDlgTemplate
팝업 대화 상자에 사용할 DLGTEMPLATE 에 대한 핸들입니다.
dwReserved[3]
예약된 는 0으로 초기화되어야 합니다.
설명
확장된 푸시 단추는 OPTITEM 구조와 연결할 수 있는 CPSUI 정의 푸시 단추 유형입니다. OPTITEM 구조체에는 하나의 확장된 푸시 단추 또는 하나의 확장된 검사 상자가 연결되어 있을 수 있습니다.
EXTPUSH 구조를 사용하여 푸시 단추를 만들 때 필요에 따라 사용자가 단추를 클릭할 때 열리는 추가 대화 상자를 만들 수 있습니다. 이 대화 상자를 만들려면 DlgProc 멤버의 대화 상자 프로시저에 대한 포인터를 지정하고 DlgTemplateID 또는 hDlgTemplate 멤버에 대화 상자 템플릿 사양을 포함해야 합니다.
EPF_USE_HDLGTEMPLATE 플래그에 설정된 경우 CPSUI는 DialogBoxIndirectParam을 호출하고 DlgProc 및 hDlgTemplate 멤버의 콘텐츠를 전달하여 대화 상자를 만듭니다.
플래그에 EPF_USE_HDLGTEMPLATE 설정되지 않은 경우 CPSUI는 DialogBoxParam을 호출하고 DlgProc 및 DlgTemplateID 멤버의 내용을 전달하여 대화 상자를 만듭니다.
대화 상자 프로시저가 uMsg 값 WM_INITDIALOG 호출되면 lParam 값은 REASON 멤버가 CPSUICB_REASON_EXTPUSH 설정된 CPSUICBPARAM 구조체의 주소입니다. uMsg 및 lParam 매개 변수에 대한 자세한 내용은 DialogProc을 참조하세요.
사용자가 단추를 클릭할 때 대화 상자를 표시하는 데 CPSUI가 필요하지 않은 경우 pfnCallBack 멤버에서 _CPSUICALLBACK 형식의 콜백 함수의 주소를 지정할 수 있습니다. 사용자가 단추를 클릭하면 CPSUI는 콜백 함수를 호출합니다. 함께 제공되는 CPSUICBPARAM 구조체의 Reason 멤버는 CPSUICB_REASON_EXTPUSH 설정됩니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | compstui.h(Compstui.h 포함) |