Pascal 7 & Objects


Создание сложного диалогового блока


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

До сих пор вы использовали достаточно простой диалоговый блок (см. блок About Box в шаге 5). Особенно полезными становятся диалоговые блоки, когда вы можете устанавливать и считывать зна- чения их управляющих элементов.

В модуле Pen определяется более сложный ресурс диалогового блока с именем 'PenDlg', который дает вам возможность изменения атрибутов только что определенного объекта пера. Этот диалоговый блок показан на Рис. 4.1.

+---------------------------------------------------+ |#=#XXXXXXXXXXSet Pen AttributesXXXXXXXXXXXXXXXXXXXX| +---------------------------------------------------| | +-Color----------+ +-Style-----------+ | | | (*) Black | | (*) Solid | | | | ( ) Purple | | ( ) Dash | | | | ( ) Blue | | ( ) Dot | | | | ( ) Cyan | | ( ) DashDot | | | | ( ) Green | | ( ) DasDotDot | | | | ( ) Yellow | | ( ) Null | | | | ( ) Red | +-----------------| | | | ( ) White | | Width: #1# | | | +----------------+ +-----------------+ | +---------------------------------------------------| | | | +------------+ +------------+ | | |####OK######| |##Cancel####| | | +------------+ +------------+ | | | +---------------------------------------------------+

Рис. 4.1 Диалоговый блок с изменением атрибутов пера.

Set Pen Attributes - установка атрибутов пера; Color - цвет; Black - черный; Purple - фиолетовый; Blue - голубой; Cyan - бирю- зовый; Green - зеленый; Yellow - желтый; Red - красный; White - белый; Style - стиль; Solid - непрерывная линия; Dash - пунктир; Dot - точки; DashDot - точки и тире; DasDotDot - тире и две точ- ки; Null - пусто; Width - ширина; OK - подтверждение; Cancel - отмена.

Построение объекта из ресурса 'PenDlg' выполняется также, как это делается для окна About Box (за исключением порождающего окна). Поскольку диалоговый блок атрибута пера выполняется из объекта TPen, а не из оконного объекта, вы не можете в качестве порождающего окна использовать @Self. Вместо этого TPen присоеди- няет диалоговый блок к одному из окон, о присутствии которых из- вестно заранее - основному окну приложения:




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