На этом шаге мы рассмотрим содержание класса диалогового окна.
Все функции программы "Печать вкладышей", за исключением тех, которые действительно занимаются непосредственно печатью вкладыша кассеты, обрабатываются в классе TWCWnd:
class TWCWnd : public TDialog { protected: int sideA; TPrinter *printer; TStatic *sideStr; TButton *sideButn; public: TWCWnd(TWindow *parent, TResId resld); ~TWCWnd(); protected: void CmSide(); void CmPrint(); void CmAbout(); DECLARE_RESPONSE_TABLE(TWCWnd); };
Этот класс содержит ряд защищенных членов-данных. Флаг sideA указывает, на какой из сторон кассеты работает пользователь: на стороне А или на стороне В. Указатель принтера содержит адрес оконного объекта TPrinter. Наконец, sideStr и sideButn являются указателями на объекты TStatic и TButton соответственно. Эти указатели позволяют программе использовать функции-члены каждого объекта для работы с управляющими элементами, связанными с этими объектами.
Функциями-членами данного класса являются только конструктор класса, деструктор и три функции отклика на сообщения, по одной для каждой из кнопок Side, Print и About. Этот класс не должен объявлять функцию отклика на сообщения для кнопки Cancel, так как он наследут функцию CmCancel() из класса TDialog библиотеки OWL. Функция CmCancel() может управлять операциями "отмены" так же, как она это делает в библиотеке OWL, поэтому нет необходимости переопределять ее.
На следующем шаге мы рассмотрим обработку данных диалога.