次の方法で共有


DlgDirListA 関数 (winuser.h)

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

構文

int DlgDirListA(
  [in]      HWND  hDlg,
  [in, out] LPSTR lpPathSpec,
  [in]      int   nIDListBox,
  [in]      int   nIDStaticPath,
  [in]      UINT  uFileType
);

パラメーター

[in] hDlg

型: HWND

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

[in, out] lpPathSpec

型: LPTSTR

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

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

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

[in] nIDListBox

型: int

[hDlg] ダイアログ ボックスのリスト ボックスの識別子。 このパラメーターが 0 の場合、DlgDirList リスト ボックスへの入力は試行されません。

[in] nIDStaticPath

型: int

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

[in] uFileType

型: UINT

リスト ボックスに追加するファイルまたはディレクトリの属性を指定します。 このパラメーターには、次の値のうち 1 つ以上を指定できます。

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

戻り値

型: int

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

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

備考

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

DlgDirList LB_RESETCONTENTLB_DIR メッセージをリスト ボックスに送信します。

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

ディレクトリの一覧には、長いファイル名 (存在する場合) が表示されます。

例については、「単一選択リスト ボックス でのディレクトリ 一覧の作成」および「複数選択リスト ボックスの作成 」を参照してください。

手記

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

必要条件

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

関連項目

DlgDirListComboBox を する

DlgDirSelectComboBoxEx の

DlgDirSelectEx を する

リファレンス