次の方法で共有


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 は、IconID メンバーによって識別されるアイコンにIDI_CPSUI_NO アイコンをオーバーレイします。
EPF_OVERLAY_STOP_ICON 設定した場合、CPSUI はIDI_CPSUI_STOP アイコンを、IconID メンバーによって識別されるアイコンにオーバーレイします。
EPF_OVERLAY_WARNING_ICON 設定した場合、CPSUI は、IconID メンバーによって識別されるアイコンにIDI_CPSUI_WARNING アイコンをオーバーレイします。
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を Flagsで設定する必要があります。

DUMMYUNIONNAME.pfnCallBack

CPSUICB_REASON_PUSHBUTTONの理由を処理する _CPSUICALLBACK型指定されたコールバック関数へのポインター。 詳細については、次の「解説」セクションを参照してください。

このポインターを指定する場合は、EPF_PUSH_TYPE_DLGPROCを Flagsでクリアする必要があります。

IconID

次のいずれかのアイコン識別子。

  • アイコン リソース識別子。 これは、アプリケーション定義にすることも、CPSUI が提供するIDI_CPSUIプレフィックス付きのアイコン リソース識別子の 1 つでもかまいません。

  • アイコン ハンドル。 ハンドルが指定されている場合、EPF_ICONID_AS_HICONは Flags メンバーで設定する必要があります。

  • 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 構造体には、1 つの拡張プッシュ ボタンまたは 1 つの拡張チェック ボックスを関連付けることができます。

EXTPUSH 構造体を使用してプッシュ ボタンを作成する場合は、必要に応じて、ユーザーがボタンをクリックしたときに開く追加のダイアログ ボックスを作成できます。 このダイアログ ボックスを作成するには、DlgProc メンバーでダイアログ ボックス プロシージャへのポインターを指定し、DlgTemplateID または hDlgTemplate メンバーにダイアログ テンプレートの仕様を含める必要があります。

EPF_USE_HDLGTEMPLATEが Flagsで設定されている場合、CPSUI は DialogBoxIndirectParam呼び出してダイアログ ボックスを作成し、DlgProc の内容を渡し、hDlgTemplate メンバー 渡します。

EPF_USE_HDLGTEMPLATEが Flagsで設定されていない場合、CPSUI はダイアログ ボックスを作成 DialogBoxParamを呼び出し、DlgProc の内容を渡し、DlgTemplateID メンバー 渡します。

ダイアログ・ボックス・プロシージャーがWM_INITDIALOGの uMsg 値を使用して呼び出されると、lParam 値は、CPSUICBPARAM 構造体のアドレスであり、Reason メンバーはCPSUICB_REASON_EXTPUSHに設定されます。 uMsg および lParam パラメーターの詳細については、「DialogProc」を参照してください。

ユーザーがボタンをクリックしたときにダイアログ ボックスを表示するために CPSUI が必要ない場合は、pfnCallBack メンバーで _CPSUICALLBACK型指定されたコールバック関数のアドレスを指定できます。 ユーザーがボタンをクリックすると、CPSUI はコールバック関数を呼び出します。 付属の CPSUICBPARAM 構造体の Reason メンバーは、CPSUICB_REASON_EXTPUSHに設定されます。

必要条件

要件 価値
ヘッダー compstui.h (Compstui.h を含む)

関連項目

EXTCHKBOX