Ресурсы. Файл описания ресурса, страница 12

Пример               Пример, показанный на рис. 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