Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delfi, лекции / Зан Св компонентов.doc
Скачиваний:
17
Добавлен:
28.03.2016
Размер:
1.1 Mб
Скачать

Поддержка справочной службы

Все видимые элементы имеют следующие свойства:

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

Оперативные подсказки существенно облегчают начинающему пользователю знакомство с программным продуктом. Введение механизма оперативных подсказок во все видимые компоненты легко решает проблему создания дружественного программного интерфейса в современном стиле.

Чтобы компонент смог показать оперативную подсказку, нужно поместить текстовую строку в его свойство 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_PALETTHANGED;

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

Соседние файлы в папке Delfi, лекции