Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Подсказки на строке состояния

Читайте также:
  1. IV. АНАЛИЗ СОСТОЯНИЯ ВНУТРЕННЕГО И ВНЕШНЕГО РЫНКОВ
  2. Алгебраические дополнения. Миноры. Формулы разложения определителя по столбцу или строке
  3. Анализ и преобразование слов в строке
  4. Анализ размещения капитала и оценка имущественного состояния
  5. Анализ фактического состояния в области развития малого предпринимательства
  6. Анализ фактического состояния малого предпринимательства в Вышневолоцком районе
  7. Анализ фактического состояния малого предпринимательства в Кашинском районе

Строка состояния — это еще стандартное место отобра­жения подсказок к пунктам меню. Вспомните, как работает строка состояния текстового процессора Word. Когда вы активизируете меню, строка состояния, которая составлена из нескольких панелей, превращается в простую длинную панель и на ней отображается подсказка текущего пункта меню. Когда вы завершаете работу с меню (например, выбираете команду), строка состояния восстанавли­вает свой первоначальный вид.

Для того чтобы вы могли получить строку состояния с описанной выше логи­кой работы, в компоненте StatusBar предусмотрен режим отображения простого текста. Его обеспечивает булево свойство SimplePanel. По умолчанию оно равно false, и в строке состояния отображаются панели объекта Panels. Если устано­вить свойство SimplePanel в значение true, то в строке состояния будет отобра­жаться текст, хранящийся в свойстве SimpleText.

Таким образом, необходимо при выборе пункта меню записывать подсказку этого пункта в свойстве SimpleText компоненты StatusBar и, в том случае, если подсказка содержит текст, устанавли­вать свойство SimplePanel в значение true.

Для решения этой задачи вначале разберитесь с механизмом работы подсказок, который состоит в следующем. Каждый пункт меню имеет свойство Hint для хранения поясняющего текста (подсказки). Когда выбирается пункт меню с помощью мыши или клавиа­туры, поясняющий текст переписывается из пункта меню в объект Application, у которого тоже есть свойство Hint. При этом в объекте Application возникает событие OnHint. В ответ на это событие нужно отобразить Hint объекта Application в строке состояния.

Шаг 39. Поскольку объект Application не виден в инспекторе объектов, вы должны сами объявить новый обработчик (функцию отклика на событие), полностью записать его програм­мный код и назначить объекту Application. Для этого вставьте в заголовочный файл формы в части public следующее объявление функции:

Файл Main. h:

class TPictureForm: public TForm

{

...

public: // User declarations

void __fastcall ApplicationHint (TObject *Sender);

...

};

Затем в конец файла Main.сpp добавьте код самой функции:

Файл Main. cpp:

//--------------------------------------

void __fastcall TPictureForm:: ApplicationHint (TObject *Sender)

{

StatusBar->SimpleText = Application->Hint;

StatusBar->SimplePanel = StatusBar->SimpleText!= "";

}

//--------------------------------------

Обратите внимание на правую часть второго оператора. Результатом его будет значение true или false в зависимости от того будет ли свойство SimpleText компоненты StatusBar содержать текст или нет.

Шаг 40. Установка соответствия между обработчиком события и самим событием осуществляется присвоением свойству Application->OnHint имени функции обработчика события. Установку обработчика выполните при создании формы по событию OnCreate:

//--------------------------------------

void __fastcall TPictureForm:: FormCreate (TObject *Sender)

{

Application->OnHint = ApplicationHint;

}

//--------------------------------------

 

Шаг 41. Теперь в свойстве Hint каждого пункта меню впишите строку-подсказку. Например, для пункта Open… установите подсказку: «Вывод графического файла» (см.рис.).

Шаг 41.1. Скомпилируйте и запустите программу — вы получите приложение с полностью работающей строкой состоя­ния (см. рис.).

Шаг 41.2. Для других пунктов меню установите подсказки самостоятельно.

 

Прокрутка

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


Дата добавления: 2015-10-28; просмотров: 151 | Нарушение авторских прав


Читайте в этой же книге: Методические указания. | Decision Cube. | Порядок выполнения работы | Сохранение файлов проекта | Основные события формы | Порядок выполнения работы | Постановка задачи | Выполнение работы | Всплывающее меню | Диалоговые окна открытия и сохранения файла |
<== предыдущая страница | следующая страница ==>
Проектирование строки состояния| Прокрутка в отдельной прямоугольной области

mybiblioteka.su - 2015-2024 год. (0.005 сек.)