メッセージのLB_DIR

リスト ボックスに表示されるリストに名前を追加します。 メッセージは、指定された文字列とファイル属性のセットに一致するディレクトリとファイルの名前を追加します。 LB_DIR は、マップされたドライブ文字をリスト ボックスに追加することもできます。

パラメーター

wParam

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

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

lParam

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

文字列に wParam パラメーターで指定された属性を持つファイル名またはディレクトリが指定されている場合、ファイル名またはディレクトリがリストに追加されます。 ファイル名またはディレクトリ名にワイルドカード文字 (? または *) が含まれている場合、ワイルドカード式に一致し、 wParam パラメーターで指定された属性を持つすべてのファイルまたはディレクトリがリストに追加されます。

戻り値

メッセージが成功した場合、戻り値はリストに追加された姓の 0 から始まるインデックスです。

エラーが発生した場合、戻り値はLB_ERR。 新しい文字列を格納するための十分な領域がない場合、戻り値はLB_ERRSPACE。

解説

LB_INITSTORAGE メッセージは、項目数が多いリスト ボックス (100 個を超える) の初期化を高速化するのに役立ちます。 指定したメモリ量を予約し、後続の LB_DIR メッセージにできるだけ短い時間がかかるようにします。 wParam パラメーターと lParam パラメーターの推定値を使用できます。 過大評価すると、余分なメモリが割り当てられます。過小評価する場合は、要求された金額を超えるアイテムに対して通常の割り当てが使用されます。

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

長いファイル名がある場合は、リストに長いファイル名が表示されます。

ANSI アプリケーションの場合、システムはCP_ACPを使用してリスト ボックス内のテキストを Unicode に変換します。 これにより、問題が発生する可能性があります。 たとえば、日本語Windowsの Unicode 以外のリスト ボックスにアクセント付きのローマ文字が文字化けして表示されます。 これを修正するには、アプリケーションを Unicode としてコンパイルするか、所有者が描画したリスト ボックスを使用します。

要件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
ヘッダー
Winuser.h (Windows.h を含む)

関連項目

DlgDirList