Пример Пример, показанный на рис. 8.4, аналогичен приведенному в описании функции DIgDirList, за исключением того, что для отображения списка файлов применяется не список, а поле со списком.
ОпределениедиалоговогоокнавфайлеDLGDLCB.RC
TESTDIALOG DIALOGEX 20, 20, 150, 114
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Test Dialog"
FONT 8, "MS Sans Serif"
BEGIN
EDITTEXT IDC DIRECTORY, 6. 5. 136, 13, ES AUTOHSCROLL | ES READONLY
COMBOBOX IDC LIST,
PUSHBUTTON "Done",
6, 5, 136, 13, ES_AUTOHSCROLL
NOT WSJTABSTOP
6, 20, 136, 61, CBS_DROPDOWNLIST CBS_DISABLENOSCROLL | WS_VSCROLL IDCANCEL, 49, 94, 50, 14, WS_GROUP
CBS_SORT | WSTABSTOP
END
Идентификационные номера элементов управления диалогового окна в файле DLGDLCB.H |
|||||
ttdefine IDC DIRECTORY 101 #define IDC_LIST 102 |
|||||
ФункцииWndProc и TestDlgProc в файлеDLGDLCB.C |
|||||
Си. \local-sources\chap08\08-12 . txt |
|||||
DlgDirSelectComboBoxEx * Windows 98 + Windows 2000 |
|||||
Описание |
Функция DlgDirSelectComboBoxEx позволяет получить значение текущего варианта выбора из поля со списком, заполненного с использованием функции DlgDirListComboBox. Этот вариант выбора интерпретируется как имя диска, имя файла или имя каталога. |
||||
Синтаксис |
BOOL DlgDirSelectComboBoxEx( HWND hwndDlg, LPTSTR IpszPath, int cchString, int nIDComboBox ) |
||||
Параметры |
|||||
hwndDlg |
HWND. Дескриптор диалогового окна, которое содержит поле со списком. |
||||
IpszPath |
LPTSTR. Указатель на буфер, в который должна быть записана строка с указанием выбранного пути. |
||||
cchString |
int. Длина (в символах) буфера, указанного параметром IpszPath. |
||||
nIDComboBox |
int. Идентификатор элемента управления полем со списком. |
||||
Возвращаемое значение |
BOOL. Отлично от нуля, если текущий вариант выбора — имя каталога; в ином случае возвращаемое значение — 0. |
||||
Включаемый файл |
winuser.h |
||||
См. также |
DlgDirListComboBox, DlgDirList, DlgDirSelectEx |
||||
Пример |
См. пример для функции DlgDirListComboBox. |
||||
DlgDirSelectEx • Windows 98 * Windows 2000 |
|||||
Описание |
Функция DlgDirSelectEx позволяет получить значение текущего варианта выбора из простого списка. В ней предполагается, что список был заполнен с помощью функции DlgDirList и что вариант выбора представляет собой имя диска, имя файла или имя каталога. |
||||
Синтаксис |
BOOL DlgDirSelectEx( HWND hwndDlg, LPTSTR IpszPath, int cchString, int nIDListBox ) |
||||
Параметры |
|||||
hwndDlg |
HWND. Дескриптор диалогового окна, содержащего список. |
||||
IpszPalh |
LPTSTR. Указатель на буфер, в который должна быть записана строка с указанием выбранного пути. |
||||
cchString |
int. Длина буфера, указанного параметром IpszPath, в символах. |
||||
nIDListBox |
int. Идентификатор элемента управления списком. |
||||
Возвращаемое значение |
BOOL. Отлично от нуля, если текущий вариант выбора — имя каталога; в ином случае возвращаемое значение — 0. |
||||
Включаемый файл |
winuser.h |
||||
См. также |
DlgDirList |
||||
Пример |
См. пример для функции DlgDirList. |
||||
EndDialog • Windows 98 • Windows 2000 |
|||||
Описание |
Функция EndDialog уничтожает модальное диалоговое окно, вынуждая систему прекратить обработку для этого диалогового окна. Это единственный способ корректно закрыть модальное диалоговое окно и возвратить управление вызывающей функции. Если диалоговое окно создано в другой функции диалогового окна, вызов функции EndDialog приводит к удалению только диалогового окна, связанного с этим активным диалоговым окном и функцией диалогового окна. |
||||
Синтаксис |
BOOL EndDialog( HWND hwndDlg, INT_PTR nResult ) |
||||
Параметры |
|||||
hwndDlg |
HWND. Дескриптор диалогового окна. |
||||
nResult |
INT PTR. Значение, возвращенное функцией DialogBox. |
||||
Возвращаемое значение |
BOOL. В случае успешного выполнения возвращаемое значение — TRUE; в ином случае возвращаемое значение — FALSE. |
||||
Включаемый файл |
winuser.h |
||||
См. также |
DialogBox, DialogBoxIndirect |
||||
Пример |
См. пример для функции DialogBox. |
||||
GetDialogBaseUnits • Windows 98 • Windows 2000 |
|||||
Описание |
Функция GetDialogBaseUnits возвращает базовые единицы длины диалогового окна, используемые системой Windows для создания диалоговых окон. В диалоговых окнах применяются единицы длины, которые определены на основе размеров символов шрифта, именуемые базовыми единицами длины диалогового окна. Расстояние вдоль оси х измеряется в единицах длины, которые составляют одну четвертую часть ширины шрифта. Расстояние вдоль оси у измеряется в единицах длины, которые составляют одну восьмую часть высоты шрифта. Возвращаемое значение относится ко всему ограничительному прямоугольнику шрифта, измеряемого в пикселях, а не составляет одну четвертую или одну восьмую часть размера шрифта. Функция GetDialogBaseUnits применяется, если приложение выводит диалоговое окно, но координаты элементов управления даны только в единицах длины диалогового окна. Координаты элементов управления, измеряемых в пикселях, изменялись бы на разных дисплеях с различной разрешающей способностью. |
||||
Синтаксис |
LONG GetDialogBaseUnits( VOID ) |
||||
Параметры |
Эта функция не имеет параметров. |
||||
Возвращаемое значение |
LONG. В случае успешного выполнения младшее слово возвращаемого значения содержит базовую единицу длины диалогового окна по горизонтали, и старшее слово содержит базовую единицу длины диалогового окна по вертикали. |
||||
Включаемый файл |
winuser.h |
||||
Соответствующие сообщения |
|||||
WM_PAINT |
|||||
Пример |
В примере, показанном на рис. 8.5, создается диалоговое окно с одной большой кнопкой с надписью Press To Create New Button. При щелчке на этой кнопке создается новая кнопка такого же размера. Функция GetDialogBaseUnits применяется для получения значений базовых единиц длины диалогового окна и расчета размеров для функции CreateWindow. |
||||
Определение диалогового окна в файле GETDLGBU.RC |
|||||
TESTDIALOG DIALOGEX 20, 20, 150, 82 STYLE DS MODALFRAME | WS_POPOP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Test Dialog" BEGIN PUSHBUTTON "Press To Create New Button" , IDC_CREATE , 1 6 , 10 ,118 ,14 PUSHBUTTON "Done" , IDCANCEL, 49 , 61 , SO , 14 ,WS_GROUP |
|||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.