Личен сайт - Как да създам ActiveX контроли в VB
Преди всичко, бележка.
VB5/CCE не ви позволява да създавате самостоятелни приложения, но можете да работите с тях в системната среда. Всъщност такива приложения могат да се използват само за контроли за отстраняване на грешки и за целите на обучението. В същото време VB5/CCE притежава всички интелектуални възможности на средата за разработка на VB 5.0 и позволява използването на допълнителни продукти на трети страни.
Има три основни сценария, които могат да се използват за създаване на ActiveX контроли с помощта на VB5:
1. Създайте контроли от самото начало. VB5 разполага с всичко необходимо за създаване на напълно самостоятелни ActiveX контроли точно във вашата среда. И въпреки че това наистина е възможно сега, този път не е много прост и очевидно следните два варианта ще станат по-широко разпространени.
2. Подкласиране и персонализиране на съществуваща ActiveX контрола. Разработчиците могат да се възползват от многобройни търговски продукти като отправна точка (каталогът VBPJ изброява над 2000 подобни компонента). За да направите това, трябва да изберете подкласа и да конфигурирате някакъв контрол, например, променяйки стойностите на неговите свойства и след това да го компилирате, като по този начин създавате персонализирана версия на този компонент.
3. Комбиниране на различни ActiveX контроли в един комплекс. За целта разработчиците могат да комбинират различни готови контроли в един проект, след това да персонализират външния си вид и функционалност и след това да компилират в един компонент. Този сценарий вероятно ще се превърне в най-популярния начин за създаване на персонализирани контроли.
Проблеми с лицензирането
ActiveX контролите обикновено съдържат две лицензирани части: елемент за време на проектиране и елемент за изпълнение. Обикновено разработчикът придобива пълни права да използва допълнителния контрол, което прави възможно използването му (елемента) във всяка среда за разработка.
След като разработчикът завърши изграждането на приложението, той има право да го разпространява сред крайните потребители като EXE файл, заедно с модул за поддръжка за този контрол. По този начин крайните потребители могат да използват този ActiveX контрол в това приложение, но не могат да го използват за собствено развитие.
Тази ситуация е подобна за интернет сценариите. Всеки разработчик може да създаде ActiveX контрола от закупена трета страна ActiveX контрола и след това можете да работите с новия контрол вътре в уеб страницата. Крайният потребител, който го "изпълнява" в тази уеб страница, има пълни права върху помощника за този контрол в рамките на страницата, но не може да го използва за разработка, без първо да получи съответния лиценз.
Трябва да се подчертае, че за някои ActiveX контроли лицензионната политика може да се различава от описаната по-горе. Затова винаги трябва да преглеждате лицензионното споразумение, което придружава конкретен контрол, за точна информация относно правата за използване и ограниченията.
Пример за създаване на ActiveX контрола
Ще покажем това, като използваме примера за комбиниране на готови ActiveX контроли в среда VB5/CCE. В този случай нашата цел ще бъде да създадем контрола, показан на фиг. 1 и обикновено се нарича "въртящ се механизъм". Идеята му е проста - чрез щракване върху стрелките потребителят може да увеличи или намали числовата стойност в прозореца. След като определихме какво искаме да получим, можем да започнем да го създаваме.
Фигура: един. Това е образът на контролата, която искаме да създадем.
Стъпка 1. Създайте тестов контейнер
Стартирайте VB5/CCE, изберете иконата Standard EXE в прозореца New Project, който се появява, и щракнете върху бутона Open. Това създава приложение за контейнер, което ще се използва за тестване на контрола, който създаваме.
Стъпка 2. Започнете да създавате нов контрол
От менюто Файл изберете Добавяне на проект. В диалоговия прозорец Добавяне на проект маркирайте иконата ActiveX Control и щракнете върху бутона Отваряне. Сега трябва да имате два отворени проекта на екрана си, които много си приличат. Но Project1 е приложение (Формуляр), а Project2 е потребителски контрол (UserControl).