次の方法で共有


DlgDirListComboBoxA 関数 (winuser.h)

コンボ ボックスの内容を、指定したディレクトリ内のサブディレクトリとファイルの名前に置き換えます。 ファイル属性のセットを指定することで、名前の一覧をフィルター処理できます。 名前の一覧には、マップされたドライブ文字を含めることができます。

構文

int DlgDirListComboBoxA(
  [in]      HWND  hDlg,
  [in, out] LPSTR lpPathSpec,
  [in]      int   nIDComboBox,
  [in]      int   nIDStaticPath,
  [in]      UINT  uFiletype
);

パラメーター

[in] hDlg

型: HWND

コンボ ボックスを含むダイアログ ボックスのハンドル。

[in, out] lpPathSpec

型: LPTSTR

絶対パス、相対パス、またはファイル名を指定する null で終わる文字列を含むバッファーへのポインター。 絶対パスは、ドライブ文字 (例: d:) または UNC 名 (\\コンピューター名\共有名) で始めることができます。

この関数は、文字列をディレクトリとファイル名に分割します。 この関数は、ディレクトリでファイル名と一致する名前を検索します。 文字列でディレクトリが指定されていない場合、関数は現在のディレクトリを検索します。

文字列にファイル名が含まれている場合、ファイル名には少なくとも 1 つのワイルドカード文字 (? または ) が含まれている必要があります。文字列にファイル名が含まれていない場合、この関数はアスタリスクワイルドカード文字 () をファイル名として指定したかのように動作します。 ファイル名と一致し、uFiletype パラメーターで指定された属性を持つ指定したディレクトリ内のすべての名前が、コンボ ボックスに表示されるリストに追加されます。

[in] nIDComboBox

型: int

[hDlg] ダイアログ ボックスのコンボ ボックスの識別子。 このパラメーターが 0 の場合、DlgDirListComboBox はコンボ ボックスの塗りつぶしを試みません。

[in] nIDStaticPath

型: int

hDlg ダイアログ ボックス内の静的コントロールの識別子。 dlgDirListComboBox 、現在のドライブとディレクトリを表示するようにこのコントロールのテキストを設定します。 現在のドライブとディレクトリを表示しない場合は、このパラメーターを 0 にすることができます。

[in] uFiletype

型: UINT

コンボ ボックスに追加するファイルまたはディレクトリの属性を指定するビット フラグのセット。 このパラメーターには、次の値の組み合わせを指定できます。

価値 意味
DDL_ARCHIVE
アーカイブされたファイルが含まれます。
DDL_DIRECTORY
角かっこ ([ ]) で囲まれたサブディレクトリが含まれます。
DDL_DRIVES
マップされたすべてのドライブが一覧に追加されます。 ドライブは [-x-] の形式で表示されます。ここで、x はドライブ文字です。
DDL_EXCLUSIVE
指定した属性を持つファイルのみが含まれます。 既定では、DDL_READWRITEが指定されていない場合でも、読み取り/書き込みファイルが一覧表示されます。
DDL_HIDDEN
隠しファイルが含まれます。
DDL_READONLY
読み取り専用ファイルが含まれます。
DDL_READWRITE
追加の属性を持たない読み取り/書き込みファイルが含まれます。 これが既定の設定です。
DDL_SYSTEM
システム ファイルが含まれています。
DDL_POSTMSGS
このフラグが設定されている場合、dlgDirListComboBox は、PostMessage 関数を使用してコンボ ボックスにメッセージを送信します。 このフラグが設定されていない場合、DlgDirListComboBox は、SendMessage 関数を使用します。

戻り値

型: int

関数が成功した場合、戻り値は 0 以外です。

関数が失敗した場合、戻り値は 0 です。 たとえば、lpPathSpec で指定 文字列が有効なパスでない場合、関数は失敗します。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

lpPathSpec ディレクトリを指定した場合、DlgDirListComboBox 、コンボ ボックスに入力する前に、現在のディレクトリを指定したディレクトリに変更します。 nIDStaticPath パラメーターによって識別される静的コントロールのテキストは、新しい現在のディレクトリの名前に設定されます。

DlgDirListComboBox CB_RESETCONTENTCB_DIR メッセージをコンボ ボックスに送信します。

Microsoft Windows NT 4.0 以降: uFiletype に DDL_DIRECTORY フラグが含まれており、lpPathSpec が C:\TEMP などの第 1 レベルのディレクトリを指定している場合、コンボ ボックスには常にルート ディレクトリの ".." エントリが含まれます。 これは、ルート ディレクトリに非表示属性またはシステム属性があり、DDL_HIDDENフラグとDDL_SYSTEM フラグが指定されていない場合でも当てはまります。 NTFS ボリュームのルート ディレクトリには、非表示属性とシステム属性があります。

セキュリティ警告: この関数を誤って使用すると、プログラムのセキュリティが損なわれる可能性があります。 この関数の不適切な使用には、lpPathSpec が書き込み不可のバッファー、または null 終端のないバッファーを示していることが含まれます。 続行する前に、「セキュリティに関する考慮事項: Microsoft Windows コントロールの」を確認する必要があります。

Microsoft Windows NT 4.0 以降: 長いファイル名 (存在する場合) が一覧に表示されます。

Windows 95 以降: 一覧に短いファイル名 (8.3 形式) が表示されます。 SHGetFileInfo または GetFullPathName 関数 使用して、対応する長いファイル名を取得できます。

Windows 95 以降: DlgDirListComboBoxW は、Microsoft Layer for Unicode でサポートされています。 これを使用するには、「Windows Me/98/95 Systemsの Unicode 用 Microsoft Layer で説明されているように、特定のファイルをアプリケーションに追加する必要があります。

手記

winuser.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして DlgDirListComboBox を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winuser.h (Windows.h を含む)
ライブラリ User32.lib
DLL User32.dll

関連項目

DlgDirList の

DlgDirSelectComboBoxEx の

リファレンス