Pascal 7 & Objects


Шаг 11: добавление специализированных управляющих элементов


-----------------------------------------------------------------

+-----------------------+ | Step 1: Basic App | | Step 2: Text | | Step 3: Lines | | Step 4: Menu | | Step 5: About Box | | Step 6: Pens | | Step 7: Painting | | Step 8: Streams | | Step 9: Printing | | Step 10: Palette | |XStepX11:XBWCCXXXXXXXXX| | Step 12: Custom ctrls | +-----------------------+

В шаге 10 вы добавили к основному окну независимое дочернее окно. Теперь вы добавите зависимые дочерние окна, которые называ- ются управляющими элементами. Порождающим окном этих управляющих элементов является окно палитры пера. Нужно помнить о том, что окно палитры пера является независимым дочерним окном, для кото- рого порождающим окном является основное окно. Таким образом, па- литра пера является одновременно дочерним окном основного окна и порождающим окном для управляющих элементов.

В шаге 6 вы уже имели дело с управляющими элементами и объ- ектами управляющих элементов, но тогда вы просто связывали объек- ты с управляющими элементами, определенными в ресурсе. Построение управляющего элемента на этапе выполнения несколько сложнее, так как наряду с типом как вам требуется задать позицию и размер уп- равляющих элементов.

Палитра пера, показанная на Рис. 6.1, использует две специа- лизированные кнопки кисти и последовательность графических изоб- ражений, каждое из которых представляет перо, которое можно ис- пользовать для рисования. Эти перьевые "кнопки" фактически не яв- ляются управляющими элементами, а скорее представляют собой обра- зы в единственным дочернем окне, которое может их идентифициро- вать при щелчке "мышью".

В данном шаге вы добавите графические кнопки с помощью:

* добавления простых управляющих кнопок;

* реализации в программе специализированных управляющих эле- ментов;

* определения графических изображений для кнопок.

Для всех управляющих элементов, в целом, поведение задается типом ObjectWindows TControl и его типом-потомком, позволяющим работать с каждым типом управляющего элемента. Например, TListBox определяет объекты блока списка, а TEdit определяет каждый управ- ляющий объект редактирования. Вы должны также понимать, что TControl - это потомок TWindow.




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



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