Операционная система Microsoft Windows 3.1 для программиста -том 2


Использование специальных функций


Для упрощения работы с органами управления, расположенными в диалоговых панелях, в программном интерфейсе Windows определены специальные функции. При использовании этих функций вам не требуется указывать идентификаторы окна органов управления, достаточно знать идентификаторы самих органов управления, определенные в описании шаблона.

Для посылки сообщения органу управления удобно использовать функцию SendDlgItemMessage:

LRESULT WINAPI SendDlgItemMessage( HWND hdlg, int idDlgItem, UINT uMsg, WPARAM wParam, LPARAM lParam);

В качестве параметра hdlg этой функции необходимо указать идентификатор окна диалоговой панели. Параметр idDlgItem определяет идентификатор органа управления, которому предназначается сообщение. Остальные три параметра этой функции содержат, соответственно, код сообщения и параметры, передаваемые вместе с сообщением.

Для выполнения некоторых часто использующихся операций с органами управления в программном интерфейсе Windows определены специальные функции.

В частности, для заполнения списка LISTBOX именами файлов, каталогов и дисковых устройств предназначена функция DlgDirList:

int WINAPI DlgDirList(HWND hdlg, LPSTR lpszPath, int idListBox, int idStatic, UINT uFileType);

Первый параметр этой функции указывает идентификатор окна диалоговой панели.

Параметр lpszPath - указатель на строку, содержащую шаблон для имен файлов.

Параметр idListBox перед вызовом функции должен содержать идентификатор заполняемого списка.

В качестве параметра idStatic вы должны указать идентификатор статического органа управления, в который будет записана строка полного пути к текущему каталогу, или NULL, если статический орган управления не используется.

И, наконец, последний параметр этой функции определяет тип файлов, имена которых заносятся в список, а также указывают на необходимость записи в список имен каталогов и дисковых устройств. Этот параметр должен быть указан как логическая комбинация констант с префиксом имени DDL_ (вы уже знакомы с этими константами).




Начало  Назад  Вперед



Книжный магазин