CWnd::DlgDirListComboBox

Syntax

int DlgDirListComboBox( const char FAR* lpPathSpec, int nIDComboBox, int nIDStaticPath, UINT nFileType );

Parameters

lpPathSpec

Points to a path string, must be a CString or a null-terminated character string.

nIDComboBox

Specifies the identifier of a combo box control in a dialog box. If nIDComboBox is 0, DlgDirListComboBox assumes that no combo box exists and does not attempt to fill one.

nIDStaticPath

Specifies the identifier of the static-text control used for displaying the current drive and directory. If nIDStaticPath is 0, DlgDirListComboBox assumes that no such text control is present.

nFileType

Specifies DOS file attributes of the files to be displayed. It can be any combination of the following values:

Value Meaning

0x0000 Read/write data files with no additional attributes.
0x0001 Read-only files.
0x0002 Hidden files.
0x0004 System files.
0x0010 Subdirectories.
0x0020 Archives.
0x2000 CB_DIR flag. If the CB_DIR flag is set, Windows places the messages generated by DlgDirListComboBox in the application's queue; otherwise they are sent directly to the dialog function.
0x4000 Drives.
0x8000 Exclusive bit. If the exclusive bit is set, only files of the specified type are listed. Otherwise, files of the specified type are listed in addition to normal files.

Remarks

Fills the list box of a combo box control with a file or directory listing. It fills the list box of the combo box specified by nIDComboBox with the names of all files matching the path given by lpPathSpec.

The DlgDirListComboBox member function shows subdirectories enclosed in square brackets ([ ]), and shows drives in the form [-x-], where x is the drive letter.

The lpPathSpec parameter has the following form:

[drive:] [ [\u]directory[\idirectory]...\u] [filename]

In this example, drive is a drive letter, directory is a valid directory name, and filename is a valid filename that must contain at least one wildcard character. The wildcard characters are a question mark (?), meaning match any character, and an asterisk (*), meaning match any number of characters.

If you specify a zero-length string for lpPathSpec or if you specify only a directory name but do not include any file specification, the string will be changed to “*.*”.

If lpPathSpec includes a drive and/or directory name, the current drive and directory are changed to the designated drive and directory before the list box is filled. The text control identified by nIDStaticPath is also updated with the new drive and/or directory name.

After the combo box list box is filled, lpPathSpec is updated by removing the drive and/or directory portion of the path.

DlgDirListComboBox sends CB_RESETCONTENT and CB_DIR messages to the combo box.

Return Value

Specifies the outcome of the function. It is nonzero if a listing was made, even an empty listing. A 0 return value implies that the input string did not contain a valid search path.

See Also

CWnd::DlgDirList, CWnd::DlgDirSelect, ::DlgDirListComboBox