Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет_пособие_С++Builder.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.56 Mб
Скачать

4. Испытание компонента

С помощью команды File|Save All сохраните все сделанные добавления.

Выбрав вкладку MyCompForm.cpp в окне Редактора кода включите строку #include "MyComp. h" в заголовочный файл формы. Добавьте описание объекта:

MyComp* MyComp1;

Это можно сделать в разделе public в файле MyCompForm.h.

Активизируйте форму Form1 и в окне Инспектора объектов дважды щелкните мышью в графе значений события OnCreate. С помощью Редактора кода введите обработчик этого события в файл MyCompForm.cpp. Следующий код создаст компонент MyComp динамически (определяя ее родителя Parent и помещая в центре родительской формы) во время выполнения тестового приложения:

void__fastcall TForm1::FormCreate(TObject *Sender)

{MyComp1 = new MyComp(this);

MyComp1->Parent = this;

// Центрировать компонент по ширине формы

MyCompl->Left = (Width/2)-(MyCompl->Width/2);

// Центрировать компонент по высоте формы

MyCompl->Top = (Height/2)-(MyCompl->Height/2);

}

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

void __fastcall TForm1::Button1Click(TObject *Sender) (

MyComp1->OnOff = !MyComp1->OnOff;

}

Скомпилируйте и запустите тестовое приложение командой Run|Run.

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

Осталось создать битовый образ пиктограммы, которой новый компонент будет представлена в Палитре компонентов. Из меню редактора изображений, открывающегося по команде Tools|Image Editor, выберите File|New|Resource File, a затем – Resource|New|Bitmap. В диалоге свойств битового образа установите размеры пиктограммы 24×24 и число цветов VGA (16 Colors). Переименуйте битовый образ компонента (MyComp) по команде Resourse|Rename и дважды щелкните мышью на выбранном имени в древовидном списке ресурсных файлов, чтобы нарисовать подходящую картинку индикатора (например, зеленый кружок). Командой File|Save As сохраните ресурсный файл MyComp.res в рабочем каталоге и закройте Редактор изображений.

5. Инсталляция компонента

Перед тем, как приступить к инсталляции нового компонента на Палитру компонентов, выполните еще раз команду File|Save All.

С помощью команды Component|Install Component откройте диалоговое окно инсталляции компонентов. Нажмите кнопку Add, которая открывает диалоговое окно добавления модуля. Найдите местоположение модуля MyComp.cpp, нажав на кнопку поиска Browse. Нажмите кнопку ОК и ждите окончания перестройки VCL и установки нового компонента на Палитру компонентов.

6. Проверка работы

Выполните команду File|Close All, а затем File|New Application. Поместите новый компонент MyComp и кнопку TButton на форму. Снова определите обработчик события OnClick кнопки управления индикатором:

void __fastcall TForm1::Button1Click(TObject *Sender) {

MyCompl->OnOff = !MyCompl->OnOff;

}

Выполните команду Run|Run и вы увидите, что компонент действительно работает (рис. 27).

Рис. 27. Работа компонента

Вопросы и упражнения

1. Опишите схему разработки собственных компонентов.

2. Как добавить свойства и события в проектируемый компонент ?

3. Как выполнить регистрацию компонента в среде C++Builder ?

4. Как выполняется предварительная отладка созданного компонента ?

5. Как поместить разработанный компонент на Палитру компонентов ?

6. Создайте усовершенствованный ползунок (базовый компонент TTrackBar с вкладки Win32 Палитры компонентов), в котором прорезь ползунка можно изобразить в виде тонкой линии. Добавить свойство, которое позволяет выводить ползунок как в привычной форме, так и с прорезью в виде тонкой линии.

Литература

  1. Шамис, В.А. Borland C++Builder 6. Для профессионалов/В. А. Шамис. СПб.:Питер, 2003

  2. Архангельский, А.Я. Программирование в C++Builder 6/А. Я. Архангельский. М.:ЗАО «Издательство БИНОМ», 2003

  3. Глушаков, С.В. Программирование в среде Borland C++Builder 6/ С. В. Глушаков, В. Н. Зорянский, С. Н. Хоменко. Харьков:Фолио, 2003

  4. Сурков, К.А. Программирование в среде C++Builder/ К. А. Сурков, Д. А. Сурков, А. Н. Вальвачев. Мн.:ООО»Попурри», 1998