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


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


Рассматривая конструкторы классов Plain и Quest, можно заметить, что их форма несколько отлича­ется от той, что использовалась в предыдущих примерах. Конструктору базового класса TWindow пере­дается лишь один параметр, а не два, как это было раньше. Однако вторым параметром конструктора TWindow служит заголовок создаваемого окна, а для строк текста этот заголовок не нужен. Опустить этот параметр можно потому, что в прототипе конструктора класса TWindow

TWindow(TWindow*  parent,   const  char  far*   title =  0,   TModule*  module  =  0);

для этого параметра имеется значение по умолчанию. Кстати, для первого параметра этого конструктора умолчания нет, и его указывать необходимо.

С конструктором класса Contents ситуация несколько иная. Объекты этого класса представляют со­бой обычные окна с системным меню и заголовком. Конечно, строку заголовка можно оставить пустой, однако значительно разумнее формировать и ее динамически, используя в качестве второго параметра конструктора Contents строку из массива plainStrings с соответствующим индексом (см. рис. 29.1).

Обсудим теперь вопрос о таблицах и функциях откликов. В классе Plain таблицы откликов нет, одна­ко имеется замещающая функция Paint(), в которой в окно класса Plain выводится соответствующая но­меру конкретного объекта строка текста из массива plainStrings. Поскольку функция Paint() вызывается (системой Windows, когда возникает необходимость перерисовывать главное окно) для конкретных до­черних окон, то функция Paint() может использовать для определения выводимой строки индекс plainIn­dex, характеризующий номер перерисовываемого в настоящий момент окна.

В классе Quest таблица откликов имеется, и в нее включен единственный макрос для сообщения WM_LBUTTONDOWN. В соответствующей функции отклика создается и отображается на экране объ­ект - всплывающее окно класса Contents. Для большего благообразия окно выводится в ту точку, в кото­рой находился курсор мыши в момент щелчка по "вопросной" строке.




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



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