Четвертый Borland C++ и его окружение

       

Построение оконных объектов


Оконные объекты представляют интерфейсные элементы. Объекты

подключаются к элементу через описатель, записанный в элемент

данных HWindow, который наследуется из TWindow. Когда вы строите

оконный объект, интерфейсный элемент еще не существует. Вы должны

создать его на отдельном шаге. TWindow создает также конструктор,

который можно использовать в DLL для создания оконного объекта с

уже существующим интерфейсным элементом.

Некоторые классы ObjectWindows 2.0 (TDialog, TMDIFrame, TTinyCaption, TMDIChild, TDecoratedFrame, TLayoutWindow, TClipboardViewer, TKeyboardModeTracker и TFrameWindow) используют TWindow

или TFrameWindow в качестве виртуально базы. В C++ сначала строятся виртуальные базовые классы. Это означает, что конструктор

производного класса не может задавать для конструктора базового

класса аргументы, используемые по умолчанию. Решить эту проблему

можно двумя способами:

  • При построении производных классов явным образом построить

    промежуточный базовый класс или классы и все виртуальные

    базовые классы.

  • Используя заданный по умолчанию конструктор виртуального

    базового класса. Такой конструктор имеют и TWindow, и

    TFrameWindow. Они имеют также функцию Init, которая позволяет задать параметры для базового класса. Ее можно вызвать в конструкторе базового класса для задания параметров

    базового класса.



  • Содержание раздела