3.4 Панель инструментов

Панель инструментов предназначена для реализации дополнительных функций, предоставляемых программой.

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

Вид панели инструментов представлен на рис. 3.2.

Рис. 3.2. Вид панели инструментов

В рассматриваемой программе на панель инструментов вынесены следующие наиболее часто употребимые функции:

à вставить копию текущей строки;

à вставить новую строку после текущей;

à удалить текущую строку;

à восстановить ранее удаленные строки;

à ввести шаблон поиска (эта функция реализована с помощью стандартного дочернего окна управления класса «окно редактирования»);

à поиск по шаблону вниз;

à поиск по шаблону вверх;

à сортировать в порядке возрастания;

à сортировать в порядке убывания;

à буфер обмена;

à калькулятор;

à печать;

à выбор титров;

à локальная помощь;

à помощь.

Кроме того, на панели инструментов имеются радиокнопки, предназначенные для реализации дополнительных функций подготовки и обработки данных: трансляции, протокола, редактирования названий узлов и др.

Каждый раз при открытии дочернего окна панель инструментов активизирует доступные ему функции.

Входные параметры панели инструментов.

В рассматриваемой программе панель инструментов создается путем вызова функции CreateDialog:

hPnUpr = CreateDialog (hInstance, LOC («PnUpr» C), hWnd, LOC(PnUpr)).

Параметры этой функции содержат следующую информацию:

hInstance – дескриптор экземпляра программы;

LOC(‘’PnUpr’’C) – идентифицирует шаблон блока диалога. Этот параметр является адресом символьной строки, в которой содержится имя шаблона диалогового окна;

hWnd – дескриптор родительского окна. Для панели инструментов родительским является главное окно программы;

LOC(PnUpr) – адрес процедуры диалога.

Функция возвращает дескриптор панели инструментов, который хранится в глобальной переменной hPnUpr.

Процедура диалогового окна панели инструментов определяется следующим образом:

integer function PnUpr (hDlg, message, wParam, lParam)

Параметры процедуры диалога аналогичны параметрам оконной процедуры главного окна: hDlg – дескриптор окна диалога; message – переменная, идентифицирующая сообщение; параметры wParam и lParam содержат дополнительную информацию о сообщении.

Процедура диалогового окна панели инструментов обрабатывает только два типа сообщений:

а) WM_INITDIALOG; это сообщение посылается процедуре диалога при создании диалогового окна прежде, чем оно отображается на дисплее. При получении этого сообщения процедура диалога вычисляет высоту панели инструментов, используя для этого функцию GetWindowRect:

bret = GetWindowRect (hDlg, rect).

Функция заполняет поля структуры rect типа T_RECT информацией о размерах рабочей области диалогового окна панели инструментов. Затем вычисляется высота диалогового окна:

YDlg = rect % bottom – rect % top.

Вычисленное значение хранится в глобальной переменной YDlg.

б) дочерние окна управления панели инструментов посылают процедуре диалогового окна сообщения WM_COMMAND. Параметры этого сообщения содержат идентификатор дочернего окна (младшее слово параметра wParam), код уведомления (старшее слово wParam) и дескриптор дочернего окна управления, пославшего сообщение (lParam). В рассматриваемой программе дочерними окнами управления панели инструментов являются окно ввода шаблона поиска и радиокнопки. Процедура диалога при получении сообщения WM_COMMAND определяет по младшему слову параметра wParam идентификатор дочернего окна, от которого пришло сообщение, и выполняет соответствующие действия.

Выходные параметры панели инструментов.

Выходными параметрами панели инструментов являются сообщения активному на данный момент дочернему окну или панели состояния.

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

Алгоритм, реализующий вышесказанное, выглядит следующим образом.

1. Нажата кнопка мыши?

Если нажата правая кнопка:

а) определить выбранный на панели инструментов орган управления;

б) вывести соответствующее выбранному органу управления текстовое пояснение в предназначенное для этого поле панели состояния.

Если дочернее окно активно и нажата левая кнопка:

а) определить выбранный на панели инструментов орган управления;

б) отправить активному дочернему окну сообщение, содержащее идентификатор выбранного органа управления.


Информация о работе «Расчет и анализ потерь активной мощности»
Раздел: Информатика, программирование
Количество знаков с пробелами: 139305
Количество таблиц: 0
Количество изображений: 14

Похожие работы

Скачать
179075
32
127

... (от передвижения источников загрязнения) 1180,48 Всего за год: 211845,25 10. Совершенствование системы электроснабжения подземных потребителей шахты Расчет схемы электроснабжения ЦПП до участка и выбор фазокомпенсирующих устройств Основными задачами эксплуатации современных систем электроснабжения горных предприятий являются правильное определение электриче­ ...

Скачать
118979
22
26

... luc – программа используется для разложения матрицы на треугольные сомножители; rluc – программа, которая отвечает за решение системы уравнений. 4. Разработка адаптивной системы управления режимами электропотребления 4.1 Функции автоматизированной системы Сбор, накопление и передача информации, характеризующей режим электропотребления комбината (информация о нагрузках). Сбор, накопление ...

Скачать
138956
15
3

... Еловка ТМН-2500/35 ±6×1,5% Ужурсовхоз ТМН-4000/35 ±6×1,5% 2. Характеристика задачи расчета, анализа и оптимизации режимов РЭС 110-35 кВ по напряжению, реактивной мощности и коэффициентам трансформации Питающие электрические сети напряжением 110 кВ, ...

Скачать
67860
2
2

... линиям относят линии, для которых верхняя граница интервала неопределенности потерь превышает установленную норму (например, 5%). 3. Программы расчета потерь электроэнергии в распределительных электрических сетях 3.1 Необходимость расчета технических потерь электроэнергии В настоящее время во многих энергосистемах России потери в сетях растут даже при уменьшении энергопотребления. При ...

0 комментариев


Наверх