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


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


Обратимся теперь к конструктору MyWindow, в котором, собственно, и задается требуемый вид де­корированного окна. После прикрепления главного меню, задания начальных значений для флагов-переключателей view и color и обнуления массива данных создается (пока пустой) объект инструмен­тальной панели класса TControlBar. Далее этот объект начинает заполняться конкретными приспособле­ниями, для чего используется открытая виртуальная функция базового для инструментов класса TGadgetWindow Insert(), вызываемая для объекта класса TControlBar. Кнопки инструментальной панели создаются, как объекты класса TButtonGadget, в конструкторе которого указывается идентификатор ре­сурса - растрового изображения для кнопки, а также идентификатор самой кнопки (в действительности конструктор класса TButtonGadget имеет большее число параметров, но для остальных в нашем случае можно использовать значения по умолчанию). Создаваемые кнопки будут располагаться друг за другом вплотную. Для отделения одной или нескольких кнопок используется объект класса TSeparatorGadget, в качестве параметра которого указывается расстояние между кнопками (в единицах толщины рамки ок­на). По умолчанию это расстояние равно 6 единицам. Обратите внимание на вид параметра функции In-sert(): она требует в качестве параметра не указатель на объект, а сам объект, который мы получаем с по­мощью снятия ссылки с указателя.

Определив состав инструментальной линейки, ее следует включить в состав декорированного окна вызовом функции Insert() класса TDecoratedFrame. Поскольку обращение к этой функции осуществляется в другой функции-члене того же класса (конкретно - в конструкторе), ее можно (и нужно) вызывать без указания объекта. В качестве параметров этой функции указываются объект инструментальной линейки и место ее расположения. Последний параметр является перечислимым типом, описанным в классе TDe­coratedFrame, что и указано в явной форме. Параметр может принимать естественные значения Top, Bot­tom Left и Right.




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



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