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 を呼び出している必要があります。 編集ボックスが hwndEditWM_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 以降)

こちらもご覧ください

オートコンプリートの使用