SHAutoComplete 関数 (shlwapi.h)
AutoComplete を使用して URL またはファイル システム パスを完了できるように、システム編集コントロールに指示します。
構文
LWSTDAPI SHAutoComplete(
[in] HWND hwndEdit,
DWORD dwFlags
);
パラメーター
[in] hwndEdit
型: HWND
システム編集コントロールのウィンドウ ハンドル。 通常、このパラメーターは、 ComboBoxEx コントロールに埋め込まれた編集コントロールまたは編集コントロールのハンドルです。
dwFlags
型: DWORD
SHAutoComplete の操作を制御するためのフラグ。 最初の 4 つのフラグは、インターネット エクスプローラー レジストリ設定をオーバーライドするために使用されます。 ユーザーは、[ツール] メニューから [インターネット オプション] プロパティ シートを起動し、[詳細設定] タブをクリックすることで、これらの設定を手動で変更できます。
SHACF_AUTOAPPEND_FORCE_OFF (0x80000000)
レジストリの既定値を無視し、AutoAppend 機能を強制的にオフにします。 このフラグは、1 つ以上のSHACF_FILESYS* または SHACF_URL* フラグと組み合わせて使用する必要があります。
SHACF_AUTOAPPEND_FORCE_ON (0x40000000)
レジストリ値を無視し、AutoAppend 機能を強制的にオンにします。 完成した文字列が編集ボックスに表示され、追加された文字が強調表示されます。 このフラグは、1 つ以上のSHACF_FILESYS* または SHACF_URL* フラグと組み合わせて使用する必要があります。
SHACF_AUTOSUGGEST_FORCE_OFF (0x20000000)
レジストリの既定値を無視し、AutoSuggest 機能を強制的にオフにします。 このフラグは、1 つ以上のSHACF_FILESYS* または SHACF_URL* フラグと組み合わせて使用する必要があります。
SHACF_AUTOSUGGEST_FORCE_ON (0x10000000)
レジストリ値を無視し、AutoSuggest 機能を強制的にオンにします。 可能な完成した文字列の選択が、編集ボックスの下にドロップダウン リストとして表示されます。 このフラグは、1 つ以上のSHACF_FILESYS* または SHACF_URL* フラグと組み合わせて使用する必要があります。
SHACF_DEFAULT (0x00000000)
既定の設定。SHACF_FILESYSTEM SHACF_URLALL | と同じです。 SHACF_DEFAULT を他のフラグと組み合わせることはできません。
SHACF_FILESYS_ONLY (0x00000010)
ファイル システムのみを含めます。
SHACF_FILESYS_DIRS (0x00000020)
ファイル システムとディレクトリ、UNC サーバー、UNC サーバー共有を含めます。
SHACF_FILESYSTEM (0x00000001)
ファイル システムとシェルの残りの部分 (デスクトップ、コンピューター、コントロール パネルなど) を含めます。
SHACF_URLALL (SHACF_URLHISTORY |SHACF_URLMRU)
[ユーザー 履歴 ] リストと [ 最近使用 した URL] リストに URL を含めます。 SHACF_URLHISTORY SHACF_URLMRU | と同じです。
SHACF_URLHISTORY (0x00000002)
ユーザーの 履歴 リストに URL を含めます。
SHACF_URLMRU (0x00000004)
ユーザーの [最近使用 した URL] リストに URL を含めます。
SHACF_USETAB (0x00000008)
Tab キーを押して、ユーザーが自動的に一覧から選択できるようにします。 このフラグが設定されていない場合は、Tab キーを押すと、フォーカスが次のコントロールに移動し、自動的に一覧が閉じます。 SHACF_USETABが設定されている場合は、Tab キーを押すと、一覧の最初の項目が選択されます。 Tab キーをもう一度押すと、リスト内の次の項目が選択されます。 ユーザーがリストの末尾に達すると、次に Tab キーを押すと、フォーカスが編集コントロールに戻ります。 このフラグは、このページにリストされている 1 つ以上のSHACF_FILESYS* または SHACF_URL* フラグと組み合わせて使用する必要があります。
SHACF_VIRTUAL_NAMESPACE (0x00000040)
戻り値
種類: HRESULT
この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。
注釈
SHAutoComplete は、編集コントロールや ComboBoxEx コントロールなどの編集コントロールを含む任意のシステム編集コントロールで動作します。 ComboBoxEx コントロールに埋め込まれた編集コントロールへのハンドルを取得するには、ComboBoxEx コントロールに CBEM_GETEDITCONTROL メッセージを送信します。
この関数を呼び出す前に、アプリケーションが CoInitialize または OleInitialize を呼び出している必要があります。 編集ボックスが hwndEdit のWM_DESTROY メッセージの処理を完了するまで、CoUninitialize または OleUninitialize を呼び出すことはできません。
最大のドロップダウン リスト ボックスに表示できる項目の最大数は 1000 です。
Windows Vista より前のバージョンの Windows と Windows Server 2008 より前のサーバー バージョンでは、 SHAutoComplete を同じ HWND で複数回呼び出さないでください。 これにより、メモリ リークが発生します。 これにより、AutoComplete オブジェクトの前のインスタンス、前の AutoComplete オブジェクトが参照した列挙子オブジェクト、Windows グラフィックス デバイス インターフェイス (GDI) リソースなど、元のリソースが解放されなくなります。 AutoComplete リストを変更するために、フラグの別のセットで SHAutoComplete をもう一度呼び出すのではなく、CLSID_AutoComplete で CoCreateInstance を呼び出して AutoComplete オブジェクトを取得します。 次に、 HWND を オブジェクトに渡して初期化し、独自のカスタム列挙子を提供します。 オートコンプリートで複数のリストを使用する場合は、CLSID_ACLMultiを使用できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | shlwapi.h |
Library | Shlwapi.lib |
[DLL] | Shlwapi.dll (バージョン 5.0 以降) |