IPhotoProgressDialog
COM公式ドキュメント
画像の列挙またはインポート時に表示される進行状況ダイアログボックスを提供します。このダイアログボックスはモーダルであり、独自のスレッドで実行されます。
メソッド 18
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
Create メソッドは、画像の列挙および取得中に表示できる進行状況ダイアログボックスを作成して表示します。
| hwndParent | HWND | in | 親ウィンドウのハンドル。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
作成されるダイアログボックスはモーダルであり、独自のスレッドで実行されます。
ダイアログを閉じるには、Destroy を呼び出します。
GetWindow メソッドは、進行状況ダイアログボックスのハンドルを取得します。
| phwndProgressDialog | HWND* | out | 進行状況ダイアログボックスのハンドルを指定します。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 渡されたポインターが NULL でした。 |
Destroy メソッドは、画像の列挙および取得中に表示される進行状況ダイアログボックスを閉じて破棄します。
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
進行状況ダイアログボックスを閉じる唯一の方法は Destroy を呼び出すことです。Destroy が呼び出されない場合、ダイアログボックスは開いたままになります。進行中の操作が完了しても、ダイアログボックスは自動的には閉じられません。
SetTitle メソッドは、進行状況ダイアログボックスのタイトルを設定します。
| pszTitle | LPWSTR | in | タイトルを含む null 終端文字列へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
ShowCheckbox メソッドは、転送後に画像を削除するかどうかを示すチェックボックスを進行状況ダイアログボックスに表示するかどうかを指定します。
| nCheckboxId | PROGRESS_DIALOG_CHECKBOX_ID | in | チェックボックスの識別子 (ID) を含む整数。 |
| fShow | BOOL | in | TRUE に設定すると、チェックボックスが表示されることを示すフラグ。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
SetCheckboxText メソッドは、転送後に画像を削除するかどうかを示す、進行状況ダイアログボックス内のチェックボックスのテキストを設定します。
| nCheckboxId | PROGRESS_DIALOG_CHECKBOX_ID | in | チェックボックスの識別子 (ID) を含む整数。 |
| pszCheckboxText | LPWSTR | in | チェックボックスのテキストを含む null 終端文字列へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
| nCheckboxId | PROGRESS_DIALOG_CHECKBOX_ID | in | 対象チェックボックスを示すPROGRESS_DIALOG_CHECKBOX_ID値。 |
| fChecked | BOOL | in | チェック状態にするか否かを示すBOOL。 |
SetCheckboxTooltip メソッドは、進行状況ダイアログボックス内のチェックボックスのツールチップテキストを設定します。
| nCheckboxId | PROGRESS_DIALOG_CHECKBOX_ID | in | チェックボックスの識別子 (ID) を含む整数。 |
| pszCheckboxTooltipText | LPWSTR | in | チェックボックスのツールチップテキストを含む null 終端文字列へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
IsCheckboxChecked メソッドは、進行状況ダイアログボックス内のチェックボックス (通常は転送後にファイルを削除するかどうかを示す) が選択されているかどうかを示します。
| nCheckboxId | PROGRESS_DIALOG_CHECKBOX_ID | in | チェックボックスの識別子 (ID) を含む整数値。 |
| pfChecked | BOOL* | out | TRUE に設定されている場合、チェックボックスが選択されていることを示すフラグへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 非 NULL ポインターが必要な箇所に NULL ポインターが渡されました。 |
進行状況ダイアログボックスのキャプションを設定します。
| pszTitle | LPWSTR | in | 進行状況ダイアログボックスのタイトルを含む null 終端文字列へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
キャプションテキストは、ダイアログボックス内の進行状況インジケーターバーの上に表示されます。
進行状況ダイアログボックスに表示されるサムネイル画像、進行状況ダイアログボックスのタイトルバーのアイコン、または ALT+TAB キーの組み合わせで表示されるウィンドウのアイコンのいずれかを設定します。
| nImageType | PROGRESS_DIALOG_IMAGE_TYPE | in | 設定する画像の種類を示す整数値。一度に設定できる画像の種類は 1 つだけです。このパラメーターに渡す値はビットフィールドとして扱わないでください。またビットごとの OR で組み合わせることはできません。 |
| hIcon | HICON | inoptional | アイコンオブジェクトへのハンドル。 |
| hBitmap | HBITMAP | inoptional | サムネイル画像を表すビットマップオブジェクトへのハンドル。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
SetPercentComplete メソッドは、現在の操作の完了した割合を示す値を設定します。
| nPercent | INT | in | 操作が完了した割合を示す整数値。この値は 0 から 100 の範囲でのみ指定できます。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
解説(Remarks)
SetPercentComplete に PROGRESS_INDETERMINATE を渡すと、進行状況バーは左から右へ (0 から 100% へ) 進行するのではなく、代わりに終了時点が不確定な操作が進行中であることを示すためにアニメーション表示されます。
SetProgressText メソッドは、進行状況ダイアログボックス内の進行状況バーのテキストを設定します。
| pszProgressText | LPWSTR | in | 進行状況テキストを含む null 終端文字列へのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 |
| pPhotoProgressActionCB | IPhotoProgressActionCB* | inoptional | アクションリンク押下時に呼ぶIPhotoProgressActionCBポインタ。 |
| pszCaption | LPWSTR | in | アクションリンクに表示するテキスト。 |
| fShow | BOOL | in | アクションリンクを表示するか否かを示すBOOL。 |
IsCancelled メソッドは、進行状況ダイアログボックスを介して操作がキャンセルされたかどうかを示します。
| pfCancelled | BOOL* | out | TRUE に設定されている場合、操作がキャンセルされたことを示すフラグへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| NULL ポインターが渡されました。 |
保存する画像のタグ名など、ユーザーが入力した説明情報を取得します。
| riidType | GUID* | in | プロンプトの種類のインターフェイス識別子 (ID) を指定します。現在サポートされている値は IID_IUserInputString のみです。 |
| pUnknown | IUnknown* | inoptional | プロンプトクラスのオブジェクトへのポインター。現在サポートされている型は IUserInputString のみです。 |
| pPropVarResult | PROPVARIANT* | out | ユーザー入力を格納するプロパティバリアントへのポインター。呼び出し元が ClearPropVariant を使用して解放する必要があります。 |
| pPropVarDefault | PROPVARIANT* | inoptional | 入力が指定されなかった場合に使用される既定値を含むプロパティバリアントへのポインター。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 進行状況ダイアログが抑制されています。 |
解説(Remarks)
IPhotoAcquire::Acquire で進行状況ダイアログボックスが抑制されており、かつ IPhotoAcquireProgressCB::GetUserInput が実装されていないか E_NOTIMPL を返す場合、このメソッドは S_FALSE を返し、pPropVarResult にはオプションの pPropVarDefault 引数に格納された値が含まれます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IPhotoProgressDialog "{00F246F9-0750-4F08-9381-2CD8E906A4AE}" #usecom global IPhotoProgressDialog IID_IPhotoProgressDialog "{00F24CA0-748F-4E8A-894F-0E0357C6799F}" #comfunc global IPhotoProgressDialog_Create 3 sptr #comfunc global IPhotoProgressDialog_GetWindow 4 sptr #comfunc global IPhotoProgressDialog_Destroy 5 #comfunc global IPhotoProgressDialog_SetTitle 6 wstr #comfunc global IPhotoProgressDialog_ShowCheckbox 7 int,int #comfunc global IPhotoProgressDialog_SetCheckboxText 8 int,wstr #comfunc global IPhotoProgressDialog_SetCheckboxCheck 9 int,int #comfunc global IPhotoProgressDialog_SetCheckboxTooltip 10 int,wstr #comfunc global IPhotoProgressDialog_IsCheckboxChecked 11 int,var #comfunc global IPhotoProgressDialog_SetCaption 12 wstr #comfunc global IPhotoProgressDialog_SetImage 13 int,sptr,sptr #comfunc global IPhotoProgressDialog_SetPercentComplete 14 int #comfunc global IPhotoProgressDialog_SetProgressText 15 wstr #comfunc global IPhotoProgressDialog_SetActionLinkCallback 16 sptr #comfunc global IPhotoProgressDialog_SetActionLinkText 17 wstr #comfunc global IPhotoProgressDialog_ShowActionLink 18 int #comfunc global IPhotoProgressDialog_IsCancelled 19 var #comfunc global IPhotoProgressDialog_GetUserInput 20 var,sptr,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IPhotoProgressDialog "{00F246F9-0750-4F08-9381-2CD8E906A4AE}" #usecom global IPhotoProgressDialog IID_IPhotoProgressDialog "{00F24CA0-748F-4E8A-894F-0E0357C6799F}" #comfunc global IPhotoProgressDialog_Create 3 sptr #comfunc global IPhotoProgressDialog_GetWindow 4 sptr #comfunc global IPhotoProgressDialog_Destroy 5 #comfunc global IPhotoProgressDialog_SetTitle 6 wstr #comfunc global IPhotoProgressDialog_ShowCheckbox 7 int,int #comfunc global IPhotoProgressDialog_SetCheckboxText 8 int,wstr #comfunc global IPhotoProgressDialog_SetCheckboxCheck 9 int,int #comfunc global IPhotoProgressDialog_SetCheckboxTooltip 10 int,wstr #comfunc global IPhotoProgressDialog_IsCheckboxChecked 11 int,sptr #comfunc global IPhotoProgressDialog_SetCaption 12 wstr #comfunc global IPhotoProgressDialog_SetImage 13 int,sptr,sptr #comfunc global IPhotoProgressDialog_SetPercentComplete 14 int #comfunc global IPhotoProgressDialog_SetProgressText 15 wstr #comfunc global IPhotoProgressDialog_SetActionLinkCallback 16 sptr #comfunc global IPhotoProgressDialog_SetActionLinkText 17 wstr #comfunc global IPhotoProgressDialog_ShowActionLink 18 int #comfunc global IPhotoProgressDialog_IsCancelled 19 sptr #comfunc global IPhotoProgressDialog_GetUserInput 20 sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。