Поддержка справочной службы
Все видимые элементы имеют следующие свойства:
Эти свойства регулируют появление и содержание оперативной, или всплывающей, подсказки - небольшого справочного окна возле элемента, на котором останавливается указатель мыши.
Оперативные подсказки существенно облегчают начинающему пользователю знакомство с программным продуктом. Введение механизма оперативных подсказок во все видимые компоненты легко решает проблему создания дружественного программного интерфейса в современном стиле.
Чтобы компонент смог показать оперативную подсказку, нужно поместить текстовую строку в его свойство Hint и присвоить свойству ShowHint значение True.
Обычно оперативная подсказка содержит максимально лаконичный текст, чтобы не занимать слишком большую площадь экрана. Вы можете дополнить этот текст развернутым сообщением в любом компоненте, который способен отображать текст. Как правило, это строка состояния, занимающая нижнюю часть формы. Чтобы отобразить «длинное» сообщение, его нужно, прежде всего, поместить в свойство Hint сразу после «короткого» и отделить обе части символом вертикальной черты (I).
Например:
Далее, необходимо в самом начале программы (обычно в обработчике события OnCreate главной формы) указать программе метод, который будет обрабатывать событие OnHint. Это событие возникает в момент появления оперативной подсказки и предназначено для отображения длинного сообщения, которое метод-обработчик может получить в свойстве Hint глобального объекта Application.
Например:
Обратите внимание: обработчик события OnHint должен быть методом класса, а не обычной процедурой. Вот почему в предыдущем примере в секцию public класса TForm1 вставлено описание метода ShowLongHint.
Обычно свойство Hint компонента устанавливается на этапе конструирования формы. В этом случае вы можете создать только однострочную оперативную подсказку. Если же установить свойство Hint на этапе прогона, вы сможете вставить в символьную строку разделители EOLN и таким способом создать многострочную оперативную подсказку:
Свойства глобального объекта-программы Application, перечисленные в табл. 1.5, регулируют цвет и время появления оперативной подсказки.
Таблица 1.5
Все видимые компоненты содержат следующее свойство, с помощью которого компонент привязывается к контекстной справочной службе:
В это свойство следует поместить идентификатор раздела файла помощи, который будет автоматически появляться в окне справки после нажатия клавиши F1.
У многих видимых компонентов имеется свойство PopupMenu:
Это свойство определяет контекстное меню, которое вызывается щелчком на компоненте правой кнопки мыши.
Свойства разного назначения
Узнать текущее состояние любого элемента управления на этапе прогона программы можно с помощью следующего свойства класса TControl:
Элементы множества TControlState имеют следующий смысл:
csLButtonDown - на элементе была нажата и еще не отпущена левая кнопка мыши;
csClicked - то же, что csLButtonDown, но устанавливается, если стиль компонента содержит флаг csClickEvents; означает, что нажатие кнопки мыши интерпретируется как щелчок;
csPalette - элемент или его родитель получил сообщение WM_PALETT-СHANGED;
csReadingState - элемент читает данные из потока;
csAlignmentNeeded - элемент нуждается в перерисовке, поскольку изменилось его свойство Alignment;
csFocusing программа пытается передать элементу фокус ввода;
csCreating - элемент и/или его родительские и дочерние элементы находятся в стадии создания (флаг очищается после завершения процесса);
csCustomPaint - элемент перерисовывается;
csDestroyingHandle - разрушается Windows-дескриптор элемента.
Представленное ниже свойство содержит стилевые флаги элемента:
Стилевые флаги имеют следующий смысл:
csAcceptsControls - элемент может стать получателем дочернего элемента в технологии причаливания;
csActionClient - элемент может участвовать в централизованном действии;
csCaptureMouse - элемент будет получать все сообщения от мыши, даже если ее указатель выйдет из его границ;
csClickEvents - элемент может воспринимать щелчок мыши;
csDesignlnteractive - элемент воспринимает щелчок правой кнопкой мыши на этапе конструирования формы;
csDisplayDraglmage - элемент способен менять свое изображение, когда на нем оказывается перетаскиваемый «груз»;
csDoubleClicks - элемент может воспринимать двойной щелчок мыши;
csFixedHeight - элемент имеет фиксированную высоту;
csFixedWidth - элемент имеет фиксированную ширину;
сsFramed - элемент имеет объемную рамку;
csNoDesignVisible - элемент не виден на этапе конструирования формы;
csNoStdEvents - элемент не реагирует на стандартные события мыши и клавиатуры;
csOpaque - элемент закрашивает всю свою клиентскую область;
csReflector - элемент способен получать диалоговые сообщения Windows, а также сообщения, связанные с получением/потерей фокуса ввода и изменением размеров (используется для компонентов ActiveX);
csReplicatable - элемент способен отобразить свой образ методом PaintTo;
csSetCaption - элемент будет изменять свой заголовок при изменении своего свойства Name.
Следующие два свойства класса TWinControl определяют режим работы и имя специального редактора IME (Input Method Editor) для предварительной обработки клавиатурного ввода в случае использования азиатских языков:
С помощью следующего свойства класса TControl программа может задать порядок чтения текста, расположение вертикальных полос прокрутки и изменение свойства Alignment так, чтобы учесть особенности письма справа налево (например арабского):