CWnd::DlgDirList
リスト ボックスにファイル リストまたはディレクトリ リストを設定します。
int DlgDirList(
LPTSTR lpPathSpec,
int nIDListBox,
int nIDStaticPath,
UINT nFileType
);
パラメーター
lpPathSpec
パスまたはファイル名を含む null で終わる文字列へのポインター。 DlgDirList は十分長く、変更を格納する必要があるこの文字列を変更する。 詳細については、次の「解説」を参照してください。nIDListBox
リスト ボックスの識別子を指定します。 nIDListBox が 0 の場合、DlgDirList、リスト ボックスにはなく、1 を満たすようにしないと想定されます。nIDStaticPath
現在のドライブとディレクトリの表示に使用される静的テキスト コントロールの識別子を指定します。 nIDStaticPath が 0 の場合、DlgDirList は、このようなテキスト コントロールがないと仮定します。nFileType
表示するファイルの属性を指定します。 これは次の値の組み合わせです:追加の属性なしのDDL_READWRITE の 読み取り/書き込みデータ ファイル。
DDL_READONLY の読み取り専用ファイル。
DDL_HIDDEN の隠しファイル。
DDL_SYSTEM システム ファイル。
DDL_DIRECTORY のディレクトリ。
DDL_ARCHIVE のアーカイブ。
DDL_POSTMSGS LB_DIR のフラグ。 LB_DIR フラグを設定すると、Windows はアプリケーション キューに DlgDirList によって生成されるメッセージを設定します; それ以外の場合は、ダイアログ ボックスのプロシージャに直接送信されます。
DDL_DRIVES のドライブ。 DDL_DRIVES のフラグが設定されている場合、DDL_EXCLUSIVE のフラグが自動的に設定されます。 したがって、ドライブ、およびファイルを含むディレクトリの一覧を作成するために、DlgDirList を回呼び出す必要があります: 一度を持つ DDL_DRIVES のフラグの設定に一度リストの残りのフラグ。
DDL_EXCLUSIVE の排他ビット。 排他ビットが設定されている場合、指定した型のファイルのみが一覧に; 指定した型の場合、通常のファイルとファイルの一覧が表示されます。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
DlgDirList の送信 LB_RESETCONTENT、リスト ボックスへの LB_DIR のメッセージ。 これは lpPathSpecで指定されたパスに一致するすべてのファイルの名前に nIDListBox で指定されたリスト ボックスを塗りつぶします。
lpPathSpec のパラメーターには、次の形式があります:
[drive:] [ [\u]directory[\idirectory]... \u] [filename]
この例では、drive はドライブ文字です directory は有効なディレクトリ名であり、ファイル名は 1 文字以上のワイルドカードを含める必要がある有効なファイル名です。 ワイルドカードは疑問符 (?)、一致する文字を意味すると、一致を示すアスタリスク (*) 文字の任意です。
lpPathSpecに長さ 0 の文字列を指定した場合、またはディレクトリ名のみを指定し、含めるファイル指定を、文字列は「*.*」に変更されます。
lpPathSpec がドライブまたはディレクトリ名を指定すると、リスト ボックスがいっぱい前に、現在のドライブとディレクトリは指定されたドライブとディレクトリに移動されます。 nIDStaticPath によって識別されるテキスト コントロールは、新しいドライブまたはディレクトリ名で更新されます。
リスト ボックスが格納された後、lpPathSpec はパスのドライブまたはディレクトリ部分を削除することによって更新されます。
使用例
// If pDialog points to a CDialog object with a list box
// with the identifier IDC_DIRLIST, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR path[MAX_PATH];
_tcscpy_s(path, MAX_PATH, _T("C:\\"));
pDialog->DlgDirList(path, IDC_DIRLIST, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);
必要条件
ヘッダー: afxwin.h