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

Одна з найприємніших можливостей середовища розробки CBuilder – це можливість додавання в систему нових компонентів і керуючих елементів Після додавання компонентів в палітру вони поводяться так, неначе поставлялися з CBuilder Така розширюваність гарантує, що ваша система не буде застарівати: ви просто додаєте нові компоненти, що зявляються у світі Інші системи також надають схожу розширюваність, але зовсім не так легко (крім Delphi), як CBuilder

Для додавання компонента в палітру компонентів ви прямуєте однієї і тієї ж стандартною процедурою, будь ваш компонент звичайним компонентом CBuilder або Delphi або ж він є керуючим елементом ActiveX, написаним в якійсь іншій системі Ось процес додавання нового компонента ActiveX на сторінку ActiveX палітри компонентів

У цьому прикладі ми збираємося додати Internet Explorer ActiveX-елемент (називається він WebBrowser) Компонент автоматично встановлюється на ваш компютер, якщо ви використовуєте Internet Explorer, а якщо ви його не використовуєте, то у вас є два варіанти: або взяти безкоштовну

копію з Web-сайту Microsoft (http://wwwmicrosoftcom), Або просто використовувати інший керуючий елемент ActiveX замість даного Процедура установки нового керуючого елемента однакова, незалежно від того, що за елемент ви ставите, хоча отримувані файли будуть мати різні імена

Перший крок – викликати вікно діалогу Install Components (установка компонентів) (рис 61) Виберіть команду меню Component | Install для виклику вікна діалогу, яке дозволить вам модифікувати компоненти, встановлені в системі З цього вікна ви можете додавати або видаляти звичайні компоненти CBuilder / Delphi, так само як і керуючі елементи ActiveX

Рис 61 Вікно діалогу установки компонентів у CBuilder

У вікні діалогу установки компонентів з правого боку вікна ви побачите кнопку «ActiveX» Натиснувши її, ви викличете вікно діалогу Import OLE Control (імпорт керуючого елемента OLE) Цей діалог ми будемо використовувати для вибору керуючого елемента ActiveX, встановленого в систему Щоб можна було використовувати цей діалог, ваш компонент (керуючий елемент ActiveX) повинен бути зареєстрований в системі Зазвичай це робиться само собою, якщо компонент використовується в будь-якому додатку, так як зазвичай програма установки програми реєструє компонент (в процесі установки) Якщо з якоїсь причини він ще не зареєстрований, то ви можете зареєструвати його або за допомогою програми Test Container (яке можна знайти в багатьох середовищах розробки), або використовуючи додаток regsvr32exe, що входить в комплект Windows 95/NT Якщо ви самі розробили керуючий елемент на іншому компютері, вам потрібно зареєструвати його перед використанням у додатку на іншій системі, включаючи CBuilder

У кожному разі, на даний момент будемо вважати, що ви встановили керуючий елемент ActiveX для нашого тесту (Internet Explorer ActiveX-елемент) і що все коректно зареєстровано Тоді ви зможете вибрати Microsoft Internet Controls в списку Registered controls (зареєстровані керуючі елементи) і побачити, як зміняться деякі поля в діалозі По-перше, Unit file name (імя файлу з модулем) зміниться на SHDOCVWPAS (всі компоненти генеруються в

вигляді модуля на Pascal для сумісності з Delphi) Поле Palette page (сторінка палітри компонентів) зміниться на ActiveX, а поле Class names (імена класів) – на TWebBrowser

Рис 62 Вікно діалогу Import OLE Control

Взагалі кажучи, ви можете міняти всі ці поля, але краще залишити їх як є Винятки становлять імя сторінки в палітрі, на яку ви хочете покласти цей компонент, і імена класів, які варто поміняти так, щоб вони краще відображали суть компонента Так що в нашому випадку ми просто залишаємо все як було Натисніть на кнопку OK для закриття вікна діалогу Import OLE Control Таким чином, ви повернетеся у вікно діалогу Install Components Натисніть на OK в цьому діалозі: ми закінчили вносити зміни в компоненти в системі Замість натискання на OK, якщо хочете, ви можете додати ще компонент або видалити існуючий

Як тільки ви закриваєте вікно установки компонента, CBuilder починає діяти В першу чергу ви побачите, що запуститься компілятор і CBuilder перекомпілюються бібліотеку компонентів Файли модулів для доданих вами компонентів (в нашому випадку SHDOCVWPAS) скомпілюйте, і отримана бібліотека буде зібрана Коли процес компіляції і збірки закінчиться, ви побачите знайоме вікно діалогу, в якому буде висвітлено стан збірки Done: Make («складання закінчена»)

У цей момент зображення палітри компонентів зникне на пару секунд, поки CBuilder не знайде всі компоненти, що входять в палітру, і не розмістить їх на відповідних сторінках Зрештою, однак, палітра компонентів буде перемальована Переміститеся на вкладку ActiveX палітри і уважно подивіться на компоненти на сторінці Ви побачите новий компонент TWebBrowser наприкінці сторінки Піктограма у цього компонента, до речі, буде стандартною піктограмою пошуку файлів

Тепер ви можете відбуксирувати піктограму компонента TWebBrowser на вашу форму і використовувати його так само, як і будь-який інший компонент

Невелике попередження Хоча керуючі елементи ActiveX і використовуються точно так само, як і будь-який інший компонент в CBuilder, затримка промальовування для керуючих елементів ActiveX при відбуксировки їх на форму значно більше, ніж для звичайних компонентів Справа в тому, що створення керуючого елемента ActiveX вимагає на порядок більше часу, ніж створення нового компонента VCL

Джерело: Теллес М – 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>

*

*