Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
96
Добавлен:
15.06.2014
Размер:
11.96 Mб
Скачать

2.3.2 Создание панели инструментов

Вооружившись знаниями о классах и способах их создания, рассмотрим, как создается панель инструментальных кнопок, при нажатии на которые мышью запускается, например, какая-нибудь программа. Прежде всего, нужно создать класс добавляемой панели. Сделаем это с помощью дизайнера классов. Выберем закладку Classesи щелкнем на кнопкеNew. Определим имя создаваемого класса панели, например,MyToolи имя базового класса –ToolBar. Определим имя библиотеки, где сохраним созданное описание класса панели. Как мы знаем, после этого появится окно конструктора классов. Далее необходимо добавить в панель кнопки, для чего следует перетащить их мышью из окна визуальных компонентовForm Controlsнепосредственно на панель. Перенесем две-три кнопки и зададим нужные нам свойства кнопок в окнеProperties (например, зададим подходящие имена и цвета кнопок). Сохраним созданное описание класса посредством опцийFile->Saveосновного меню окна дизайнера классов.

Для использования созданного библиотечного класса откроем новый проект: File->New->Project. Добавим в проект новую форму и перейдем к ее редактированию. В дизайнере форм (Form Designer) выберем в окне визуальных элементов (Form Controls) иконку с надписьюView Classesи добавим библиотеку с классом MyTool . В результате этих манипуляций в окнеForm Controlsдолжна появиться пиктограмма класса MyTool. Выберем эту пиктограмму мышью и расположим ее на форме. Система потребует добавить новую форму в набор форм (FormSet). Дадим подтверждение ”Yes”. Итак, мы разместили панель с кнопками на форме. Можно приступить к программированию кнопок. Для этого воспользуемся вкладкойMethodsв окнеPropertiesпанели. Запрограммируем событие Click для первой кнопки:

=MessageBox(“HelloFromOne”)

Аналогичным образом для второй кнопки:

=MessageBox(“HelloFromTwo”)

Теперь запустим на выполнение созданную форму с панелью кнопок через пункт меню Run (можно также использовать пиктограмму со знаком восклицания). Если все получилось удачно, то сохраним проект через File->Save.

Рассмотрим теперь, как программно подключить панель инструментов из программы (процедуры). Сначала опишем класс панели.

DefineCLASS MyPanel AS ToolBar

ADD OBJECT Btn1 AS CommandButton With Caption=”0ne”

ADD OBJECT Btn2 AS CommandButton With Caption=”Two”

ProcedureBtn1.Click

= MessageBox(“Hello from One”)

EndProc

Procedure Btn2.Click

ThisFormSet.Release

EndProc

EndDefine

Define CLASS myFrmSet AS FormSet

ADD OBJECT Mt AS MyPanel;

WITH Caption=”PANEL”, Visible=.T.

EndDefine

PROCEDURE Prog1

F=CreateObject(“myFrmSet”)

F.Show

Read Events

Return

ENDPROC

Остается указать, что ранее созданную библиотеку класса MyTool.vcxможно подключить к проекту командой

SET CLASSLIB TO имя_библиотеки. Обычно эту команду используют в методе Initдля главной формы приложения. В случае подключения класса через SET CLASSLIB не надо строить описание класса через DEFINE CLASS. Теперь можно записать в одной из процедур

ThisFormSet.AddObject(“Mt”,”MyTool”)

ThisFormSet.Mt.Show

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