Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ch-12_1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
456.7 Кб
Скачать

Строка состояния

Строки состояния (status bar) — окна только для вывода информации, часто располагающиеся в нижней части главного окна программы. Наиболее частое использование строки состояния состоит в том, что она используется для отображения подробного описания пунктов меню при их просмотре пользователем, также как официант комментирует тот или иной пункт меню в ресторане. Когда меню не просматривается, программы часто отображают в строке состояния сопутствующую информацию. Также часто отображается состояние клавиш сдвига — <Caps Lock>, <Num Lock>, <Scroll Lock>. В программах текстовых процессоров часто отображается также текущая страница, строка, столбец.

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

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

Простейший путь создания строки состояния состоит в вызове функции CreateStatusWindow:

hwndStatusBar = CreateStatusWindow (WS_CHILD |

WS_VISIBLE | WS_CLIPSIBLINGS |

CCS_BOTTOM, "Ready", hwndParent, 2) ;

Эта функция вызывает функцию CreateWindow, которая создает дочернее окно с родительским окном hwndParent, с текстом окна "Ready" (этот текст отображается в первом окне строки состояния), идентификатором, равным 2. Флаги стиля окна заданы в первом параметре.

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

Категория

Флаг стиля

Описание

Представление

SBARS_SIZEGRIP

Отображает диагональную штриховку в правом углу строки состояния. Эта область служит для изменения размеров родительского окна.

Начальное положение

CCS_TOP

Помещает строку состояния в верхнюю часть родительского окна.

CCS_BOTTOM

Помещает строку состояния в нижнюю часть родительского окна (по умолчанию).

CCS_NOMOVEY

Запрещает перемещение относительно оси y.

Запрет автоматического изменения размеров и местоположения

CCS_NOPARENTALIGN

Строка состояния устанавливает свою высоту (cy). Но не устанавливает свое местоположение (x,y) и ширину (cx). Для соответствующей обработки необходимо после создания посылать сообщение об изменении размеров.

(продолжение)

Категория

Флаг стиля

Описание

CCS_NORESIZE

Запрещает все автоматические перемещения и изменения размеров. Это запрещает следующие флаги стиля: CCS_TOP, CCS_BOTTOM, CCS_NOMOVEY и CCS_NOPARENTALIGN. Вы должны явно задать размеры и положение строки состояния.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]