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の