Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Створення ActiveX з форм




Даний спосіб створення елементів управління дозволяє на базі власної форми додатки створити елемент ActiveX. Цей спосіб носить назва ActiveForms.

Спробуємо створити елемент управління ActiveX з форми. Виконаємо наступні кроки:

1. Викличемо майстер ActiveForm. Для цього виберемо пункт головного меню File/New (Файл/новий), і перейшовши на вкладку ActiveX виберемо піктограму ActiveF orm. З'явиться вікно майстра (Рис. 4).

Як можна бачити, даний майстер дуже схожий на майстра перетворення компоненту VCL Delphi в елемент управління ActiveX. Але відзнака відразу впадає в очі. У полі імені класу VCL Class Name (Ім'я класу VCL) майстер автоматично встановлює значення TActiveForm.

 

Рис. 4. Діалогове вікно майстра ActiveForm

2. У полі New ActiveX Name (Нове ім'я ActiveX) нам потрібно ввести ім'я створюваного елементу управління ActiveX. Введемо ім'я MyForm, при цьому автоматично стануться зміни в інших полях (вони описані вищим для майстра ActiveX Control).

3. Після натиснення кнопки ОК майстер створює всі необхідні заготовки для елементу управління ActiveX (практично так само, як і у попередньому випадку). Поверхня форми MyForm стає робочою поверхнею. Ви можете розміщувати на ній довільні компоненти, описувати методи і події компонентів і форми, встановлювати їх властивості.

Розмістимо на формі MyForm два компоненти CоmВох, як показано на рис.4.

 

Рис. 4. Форма MyForm

Внесемо до властивості items для першого компоненту Сотьовох значення, відповідні назвам місяців з січня по грудень. У властивість items другого компоненту Сотьовох внесемо значення, які відповідають назвам днів тижня з понеділка по воскресіння. Отже, при натисненні на перший список в нім повинні відображуватися назви місяців, а при натисненні кнопки другого списку - назви днів тижня.

В принципі, ми вже створили елемент управління ActiveX. Але даний елемент управління буде даремним, оскільки нам необхідно, щоб вибрані в списках значення передавалися користувачеві. Для цього потрібно створити інтерфейс з користувачем елементу управління.

Для вирішення даного завдання нам необхідно додати в бібліотеку типів елементу управління в інтерфейс IMyForm дві нові властивості. Назвемо їх, наприклад, Month і Day. Відкриємо редактор бібліотеки типів за допомогою пункту головного меню View/Type Library (Проглядання/Бібліотека типів). Працювати з нею нам вже доводилося, тому не буде складним додати до інтерфейсу IMyForm властивості Month і Day (Рис. 3.30).

Тепер потрібно відновити модуль реалізації MyFormImpl1. Для чого необхідно натискувати кнопку Refre sh Implementation (Відновити реалізацію) у верхній панелі інструментів редактора бібліотеки типів. При цьому в обох файлах проекту з'являються описи нових властивостей, а у файлі реалізації - заготовки коду (листинг4).

Лістинг 4

function TMyForm.Get_Day: Integer;

begin

end;

function TMyForm.Get_Month: Integer;

begin

end;

procedure TMyForm.Set_Day(Value: Integer);

begin

end;

procedure TMyForm.Set_Month(Value: Integer);

begin

end;

 

Рис. 5. Редактор бібліотеки типів з доданими в інтерфейс IMyForm властивостями Month і Day

Як ми бачимо, були додані дві заготівки для функцій Get і дві заготівки для процедур set. Функції Get призначені для передачі значення властивості в програму, що викликала дану функцію. Процедури Set служать для передачі і установки необхідних параметрів.

Заповнимо ці заготовки таким чином (лістинг 5):

Лістинг 5

function TMyForm.Get_Day: Integer;

begin

Result:=ComboBox2.Itemlndex;

end;

function TMyForm.Get_Month: Integer;

begin

Result: =ComboBoxl. Itemlndex;

end;

procedure TMyForm.Set_Day(Value: Integer);

begin

ComboBox2.Itemlndex:=value;

end;

procedure TMyForm.Set_Month(Value: Integer);

begin

ComboBoxl.Itemlndex:=value;

end;

 

Передавані значення властивостей Day і Month, що приймаються, в нашому випадку мають типа integer, хоча ви могли привласнити даним властивостям іншого типа в редакторові бібліотеки типів в процесі створення цих властивостей.

Ми створили елемент управління ActiveX на основі форми. Тепер залишилося лише відкомпілювати проект і встановити елемент управління в палітру компонентів.

Спробуємо використовувати даний елемент управління ActiveX в своєму застосуванні. Створимо новий проект. Розмістимо на нім елемент управління ActiveX MyForm. Крім того, розташуємо на формі чотири кнопки і два компоненти Edit (рис.6).

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных