DlgDirSelectExW 関数 (winuser.h)

単一選択リスト ボックスから現在の選択範囲を取得します。 リスト ボックスが DlgDirList 関数によって入力されていること、および選択範囲がドライブ文字、ファイル名、またはディレクトリ名であることを前提としています。

構文

BOOL DlgDirSelectExW(
  [in]  HWND   hwndDlg,
  [out] LPWSTR lpString,
  [in]  int    chCount,
  [in]  int    idListBox
);

パラメーター

[in] hwndDlg

種類: HWND

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

[out] lpString

種類: LPTSTR

選択したパスを受け取るバッファーへのポインター。

[in] chCount

型: int

lpString が指すバッファーの長さ (TCHAR)。

[in] idListBox

型: int

ダイアログ ボックス内のリスト ボックスの識別子。

戻り値

種類: BOOL

現在の選択範囲がディレクトリ名の場合、戻り値は 0 以外です。

現在の選択範囲がディレクトリ名でない場合、戻り値は 0 になります。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

DlgDirSelectEx 関数は、lpString パラメーターが指すバッファーに選択範囲をコピーします。 現在の選択範囲がディレクトリ名またはドライブ文字の場合、 DlgDirSelectEx は囲む角かっこ (およびドライブ文字の場合はハイフン) を削除し、名前または文字を新しいパスに挿入する準備が整います。 選択範囲がない場合、 lpString は変更されません。 文字列がバッファーの長さ以上の場合、バッファーには、終端の null 文字を含む切り捨てられた文字列が含まれます。

DlgDirSelectEx は、LB_GETCURSELメッセージとLB_GETTEXTメッセージをリスト ボックスに送信します。 関数は、リスト ボックスから複数のファイル名を返すことを許可しません。 リスト ボックスは複数選択リスト ボックスにすることはできません。 その場合、この関数は 0 の値を返しません。 lpString は変更されません。

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

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

注意

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

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll

こちらもご覧ください

DlgDirList

DlgDirListComboBox

DlgDirSelectComboBoxEx

LB_GETCURSEL

LB_GETTEXT

参照