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가리키는 문자열에 "Setup"을 추가합니다. |
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형식의 콜백 함수에 대한 포인터입니다. 자세한 내용은 다음 설명 섹션을 참조하세요.
이 포인터가 제공되면 FlagsEPF_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 Flags설정된 경우 CPSUI는 DialogBoxIndirectParam호출하고 DlgProc 내용을 전달하고 hDlgTemplate 멤버를 대화 상자를 만듭니다.
EPF_USE_HDLGTEMPLATE Flags설정되지 않은 경우 CPSUI는 DialogBoxParam호출하고 DlgProc 내용을 전달하고 DlgTemplateID 멤버를 대화 상자를 만듭니다.
대화 상자 프로시저가 WM_INITDIALOG uMsg 값으로 호출되면 lParam 값은 Reason 멤버가 CPSUICB_REASON_EXTPUSH 설정된 CPSUICBPARAM 구조체의 주소입니다. uMsg 및 lParam 매개 변수에 대한 자세한 내용은 DialogProc참조하세요.
사용자가 단추를 클릭할 때 대화 상자를 표시하는 데 CPSUI가 필요하지 않은 경우 pfnCallBack 멤버에서 _CPSUICALLBACK형식의 콜백 함수의 주소를 지정할 수 있습니다. 사용자가 단추를 클릭하면 CPSUI가 콜백 함수를 호출합니다. 함께 제공되는 CPSUICBPARAM 구조체의 Reason 멤버는 CPSUICB_REASON_EXTPUSH 설정됩니다.
요구 사항
요구 | 값 |
---|---|
헤더 | compstui.h(Compstui.h 포함) |