Використання керуючих елементів ActiveX в CBuilder

Використовуються керуючі елементи ActiveX в CBuilder так само, як і будь-які інші керуючі елементи Ви вибираєте керуючий елемент зі сторінки палітри компонентів ActiveX (або куди ви його поклали) і кладете його на форму Встановлюєте потрібні вам властивості, залишаючи незмінними деякі значення за замовчуванням, а інше керуючий елемент зробить сам Основна різниця між ActiveX і VCL проявляється при установці, коли вам потрібно поставляти не тільки виконуваний файл програми, а все OCX-файли для керуючих елементів ActiveX Крім того, вам потрібно зареєструвати нові керуючі елементи ActiveX в тій системі, куди ви їх встановлюєте

Один з найбільш частих питань щодо використання керуючих елементів ActiveX в CBuilder є питання про динамічному створенні посилання на керуючий елемент ActiveX під час роботи програми (Замість використан ня дизайнера форм для додавання у форму посилання на елемент) Ви можете подумати, що це має робитися легко, так як CBuilder відноситься до керуючих елементів ActiveX так само, як до компонентів VCL, і будете праві

Повний вихідний код для цього прикладу можна знайти на супровідному компакт-диску в каталозі Chapter6 \ DynActive

Давайте візьмемо простий приклад, в якому створюється посилання на обєкт VCFormulaOne при створенні форми Для цього вам потрібно знати кілька речей По-перше, вам потрібно змінити заголовний файл форми, щоб були підключені потрібні заголовні файли На відміну від VCL заголовні файли для керуючих елементів ActiveX не підключати компілятором в ваш проект автоматично На додаток до заголовків файлів ви повинні описати покажчик на компонент для використання при створенні керуючого елементу Ось модифікований заголовки (Unit1h) з змінам і, виділеними підсвічуванням:

//———————————————————————————

#ifndef Unit1H

#define Unit1H

//———————————————————————————

#include &ltvcl\Classeshpp&gt

#include &ltvcl\Controlshpp&gt

#include &ltvcl\StdCtrlshpp&gt

#include &ltvcl\Formshpp&gt

#include &ltvcl\VCFrmla1hpp&gt

#include &ltvcl\OleCtrlshpp&gt

//———————————————————————————

class TForm1 : public TForm

{

__published: / / IDE-managed components ActiveX і CBuilder Professional

private: // User declarations TVCFormulaOne  *VCFormulaOne1 public: // User declarations

__fastcall TForm1(TComponent *Owner)

}

//———————————————————————————

extern TForm1 *Form1

//———————————————————————————

#endif

Як тільки вся попередня робота зроблена, вам залишається тільки створити сам керуючий елемент Додайте обробник для події форми OnCreate, клацнувши двічі на формі Додайте наступний код в метод форми FormCreate:

void __fastcall TForm1::FormCreate(TObject *Sender)

{

VCFormulaOne = new TVCFormulaOne(this) VCFormulaOne-&gtParent = this VCFormulaOne-&gtLeft = 10

VCFormulaOne-&gtTop = 10

VCFormulaOne-&gtWidth = ClientWidth-20 VCFormulaOne-&gtHeight = ClientHeight-20 VCFormulaOne-&gtVisible = true

}

Як ви бачите з попереднього коду, немає різниці між створенням управляюще го елемента ActiveX і компоненти будь-якого іншого типу Ви повинні створити екземпляр компонента через оператор new і потім привласнити його властивості Parent  (Батько) (яке автоматично генерує CBuilder) форму, на якій цей елемент буде проживати Як тільки керуючий елемент створений і властивості Parent  присвоєно значення, інші характеристики визначаються звичайним чином Властивості Left, Top, Width і Height підтримуються CBuilder автоматично при генерації «обгортки»

Джерело: Теллес М – Borland C + + Builder Бібліотека програміста – 1998

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*