и Quest, можно заметить, что
Рассматривая конструкторы классов 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() может использовать для определения выводимой строки индекс plainIndex, характеризующий номер перерисовываемого в настоящий момент окна.
В классе Quest таблица откликов имеется, и в нее включен единственный макрос для сообщения WM_LBUTTONDOWN. В соответствующей функции отклика создается и отображается на экране объект - всплывающее окно класса Contents. Для большего благообразия окно выводится в ту точку, в которой находился курсор мыши в момент щелчка по "вопросной" строке.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий