Главная / Банки и базы данных / Создание панели инструментов

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

ЛАБОРАТОРНАЯ РАБОТА № 7

1. ЦЕЛЬ РАБОТЫ

1. Научиться создавать пользовательские панели инструментов.

2. СОЗДАНИЕ ПАНЕЛИ

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

Теперь создадим новый проект.

Построим File/New/Progect и откроем новое окно в диспетчере проектов. Затем в окне Form Controls выберем вкладку View Classes и добавим библиотеку (посредством этой вкладки), в которой мы сохраним описание класса MyTool. В результате этих манипуляций в окне Form Controls должна появиться пиктограмма класса MyTool. Выберем эту пиктограмму мышью и расположим ее на форме. Система затребует добавить новую форму в набор форм. Дадим подтверждение “Yes”. Теперь можно запрограммировать наши кнопки (через вкладку Methods окна Properties программируем событие Click). Например, в качестве кода для одной кнопки укажем

= Messagebox(‘Hello from one’)

А в качестве кода для второй кнопки укажем

ThisForm. ActiveForm. Release

Теперь запустим на выполнение форму через меню Form/Run и испытаем действие наших кнопок.

Если все получилось удачно, то сохраним проект через File/Save. Наш учебный проект будет содержать набор форм (одна пустая форма – созданная нами панель инструментов).

3. ПОДКЛЮЧЕНИЕ ПАНЕЛИ

Покажем теперь, как программно подключить панель инструментов из процедуры. Не забываем при этом, что присоединение панели требует наличие форм, а не отдельной формы.

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

DEFINE CLASS MyPanel AS ToolBar

ADD OBJECT Btn1 AS COMMANDBUTTON WITH Caption = ‘one’

ADD OBJECT Btn2 AS COMMANDBUTTON WITH Caption = ‘two’

PROCEDURE Btn1.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 определяет текущий активный набор форм.

4. ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ

Построить программно или с помощью конструктора классов панель инструментов с 2-3 кнопками. Запрограммировать кнопки на поиск, добавление и удаление записей в таблице базы данных.

5. КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Что такое панель инструментов?

2. Можно ли установить панель инструментов на одиночной форме?

3. Опишите программно создаваемый класс панели инструментов.

4. Чем отличаются ключевые слова ThisForm и ThisFormSet по смыслу?

5. Опишите, как программно добавить кнопку в панель инструментов и запрограммировать ее под выполнение какой-либо операции.