17.12. СВОЙСТВА РАЗНОГО НАЗНАЧЕНИЯ
Узнать текущее состояние любого управляющего элемента на этапе прогона программы можно с помощью свойства
type TControlState = set of (csLButtonDown, csClicked, csPalette, csReadingState, csAlignmentNeeded, csFocusing, csCreat-ing, csCustomPaint, ceDestroyingHandle);
property ControlState: TControlState;
класса TControl.
Элементы множества TControlState имеют следующий смысл:
csLButtonDow |
Над элементом была нажата и еще не отпущена левая кнопка мыши |
n csClicked |
То же, что csLButtonDown, но устанавливается, если стиль компонента (см. ниже) содержит флаг csClickEvents и означает, что нажатие кнопки интерпретируется как щелчок |
csPalette |
Элемент или его родитель получил сообщение WMPALETTCHANGED |
csReadingState |
Элемент читает данные из потока |
csAlignmentNeeded |
Элемент нуждается в перерисовке, т. к. изменилось его свойство Alignment |
csFocusing |
Программа пытается передать элементу фокус ввода |
csCreating |
Элемент и/или его родительские и дочерние элементы находятся в стадии создания. Флаг очищается после завершения процесса |
csCustomPaint |
Элемент перерисовывается |
csDestroyingHandle |
Разрушается Windows-дескриптор элемента |
Свойство
type TControlStyle = set of (csAcceptsControls, csCaptureMouse, csDesignInteractive, csFramed, csClickEvents, csSetCaption, csOpaque, csDoubleClicks, csFixedWidth, csFixedHeight, csNoDesignVisible, csReplicatable, csNoStdEvents, csDisplayDraglmage, csReflector, csActionClient, csMenuEvents) ;
property ControlStyle: TControlStyle;
содержит стилевые флаги элемента, имеющие такой смысл:
csAcceptsControls |
Элемент может стать владельцем дочернего элемента в технологии Drag&Dock |
csActionClient |
Элемент может участвовать в централизованном действии |
csCaptureMouse |
Элемент будет получать все сообщения от мыши, даже если ее указатель выйдет из его границ |
csClickEvents |
Элемент может воспринимать щелчок мыши |
csDesignInteractive |
Элемент воспринимает щелчок правой кнопкой мыши на этапе конструирования формы |
csDisplayDragImage |
Элемент способен менять свое изображение при протаскива-нии над ним “груза” в технологии Drags Drop |
csDoubleClicks |
Элемент может воспринимать двойной щелчок мыши |
csPixedHeight |
Элемент имеет фиксированную высоту |
csFixedWidth |
Элемент имеет фиксированную ширину |
csFramed |
Элемент имеет трехмерную рамку |
csNoDesignVisible |
Элемент не виден на этапе конструирования формы |
csNoStdEvents |
Элемент не реагирует на стандартные события от мыши или клавиатуры |
csOpaque |
Элемент закрашивает всю свою клиентскую область |
csReflector |
Элемент способен получать диалоговые сообщения windows, сообщения, связанные с получением/потерей фокуса ввода и изменением размеров. |
csReplicatable |
Используется для компонентов АсtiveX |
csSetCaption |
Элемент способен отобразить свой образ с помощь метода PaintTo Элемент будет изменять свой заголовок при изменении своего свойства Name |
Пара свойств класса Twincontrol
type TImeMode = (imDisable, imClose, imOpen, imDontCare, im-
SAlpha, imAlpha, imHira, imSKata, imKata, imChinese, imSHanguel, imHanguel);
property ImeMode: TImeMode;
И
type TImeName = String;
property ImeName: TImeName;
определяют режим работы и имя специального редактора IME (Input Method Editor) для предварительной обработки клавиатурного ввода в случае использования азиатских языков. С помощью свойства
type TBiDiMode = (bdLeftToRight, bdRightToLeft, bdRightToLeft-NoAlign, bdRightToLeftReadingOnly);
property BiDiMode: TBiDiMode;
класса TControl программа может задать порядок чтения текста, расположение вертикальных полос прокрутки и изменение свойства Alignment так, чтобы учесть особенности арабского и подобного письма слева направо.