다음을 통해 공유


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 설정된 경우 DlgProcDlgTemplateID/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 구조체의 주소입니다. uMsglParam 매개 변수에 대한 자세한 내용은 DialogProc참조하세요.

사용자가 단추를 클릭할 때 대화 상자를 표시하는 데 CPSUI가 필요하지 않은 경우 pfnCallBack 멤버에서 _CPSUICALLBACK형식의 콜백 함수의 주소를 지정할 수 있습니다. 사용자가 단추를 클릭하면 CPSUI가 콜백 함수를 호출합니다. 함께 제공되는 CPSUICBPARAM 구조체의 Reason 멤버는 CPSUICB_REASON_EXTPUSH 설정됩니다.

요구 사항

요구
헤더 compstui.h(Compstui.h 포함)

참고 항목

EXTCHKBOX