Программирование под Win32


Программирование для Windows с помощью библиотеки объектов OWL - стр. 65


GetWindowPtr(GetParent())->Invalidate();

функция GetParent() возвращает значение дескриптора (типа HWND) родительского, т.е. главного окна, а функция GetWindowPtr() с этим дескриптором в качестве аргумента возвращает указатель на главное ок­но, который и используется для вызова функции Invalidate().

Стандартные диалоги Windows

Рассмотрим теперь те части примера 28-2, где вызываются стандартные диалоги Windows для откры­тия и сохранения файла. Как уже отмечалось в гл. 12, в Windows имеется группа стандартных диалогов, служащих для открытия и сохранения файлов, задания характеристик печати, поиска и замены слов и др. Все они поддерживаются соответствующими классами OWL, производными от базового для всех стан­дартных диалогов класса TCommonDialog, который, в свою очередь, выводится из класса TDialog (рис. 28.6).

Как видно из рис. 28.6, диалоги открытия и сохранения файлов реализуются с помощью классов TOpenSaveDialog, TFileOpenDialog и TFileSaveDialog. Рассмотрим их использование на примере функ­ции примера 28-2 CmOpen(), вызываемой при щелчке мышью по пункту меню "Открыть".


Диалоговые окна                                                                                                                 263


Перед тем, как вызывать стандартный диалог Windows, необходимо создать и настроить структуру данных типа TData, которая будет определять свойства этого диалога (у нас эта структурная переменная получила имя fileData). В каждом стандартном диалоге объявлен свой встроенный класс TData, в кото­ром описаны характерные для конкретного диалога данные (в частности, для диалогов открытия или со­хранения файлов к характерным данным относится спецификация файла, а для диалога настройки прин­тера - число печатаемых копий). Вызывая конструктор класса TData для образования переменной fileData

TOpenSaveDialog::TData fileData(OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST|

OFN_HIDEREADONLY,"Базы данных (*.dbf)|*.dbf|); .

мы указываем среди его параметров те характерные значения, которые мы хотим поместить в fileData. В нашем случае задаются два параметра: комбинация флагов (проверка существования вводимых пользо­вателем каталогов и имен файлов, а также скрытие контрольной рамки "Только чтение") и тип искомых файлов.




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