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 так, чтобы учесть особенности арабского и подобного письма слева направо.