InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте







Размещение сквозной ссылки

 

Создаем свой ActiveX Control


Михаил Эскин


Небезизвестный факт - Бэйсик, начиная с пятой версии поддерживает создание собственных контролов. Причем не только для "внутреннего пользования" , но и для распостранения. В шестой версии Visual Basic процесс может быть изрядно автоматизирован использованием специального визарда, входящего в комплект установки VB. Однако на мой взгляд игры программистов в "создание контролов" - вещь себя совершенно не окупающая. Почему? Обьясняю.

Чаще всего вы хотите от нового контрола какого- то необычного поведения. Еще более часто это поведение является необычным только для стандартных контролов от Микрософта. Итак, что же мы имеем в результате. Либо вы тратите пару дней на создание и отладку мало мальски серьезной компоненты. Либо приобретаете ее. Я не буду сейчас распостранятся на счет легального - нелегального софта и сравнительного анализа зарплаты российского и американского программиста - в конечном счете соотношение стоимости софта к месячной зарплате получится примерно одна, а скорее даже в пользу российского программиста.
Факт тот, что за те 2-3 дня работы, которые необходимы для создания контрола вы получите зарплату если не превышающую, то одного порядка с ценой на покупные контролы. Дело в том, что 80 процентов того, что вам может захотеться иметь реализованным в контролах - уже реализованно и продается. Более того реализовано на более низком уровне , как минимум на C++ , что нередко делает поведение этих контролов сильно отличающимся от стандартного. С их помощью вы в 2-3 строчки кода реализуете сложнейшие вещи, для написания которых на Vb пришлось бы сильно напрячься, использовать API, причем не всегда "законным" (с точки зрения Вижуал Бэйсика) образом .
Т.е. единственная проблема - узнать, что контролы такие есть, и кто их выпускает. Далее идти покупать.
Так я думал до совсем недавнего времени. Изменить его заставила ситуация на моей работе. Группа программистов пишет большой проект. В результате в проект должны входить сотни форм.
Дизайн этих форм должен быть однообразным. Более того, в "фичи" программы заложена возможность изменения цветовой гаммы, по примеру так модных сейчас "Скинов"
Мы используем определенный набор покупных контролов, полностью реализующих возможности для работы с цветом и частично с формой контролов. Но! Каждый раз при создании контрола из панели инструментов приходится настраивать эти свойства. Плюс, хотелось бы иметь еще несколько новых свойств, именно в свете реализации смены внешнего вида "на лету" Итак, оказалось проще создать набор новых контролов, и всем вместе их использовать, чем каждый раз настраивать их свойства заново. Подводя итог должен сказать - да, существуют ситуации , когда создание контрола целесообразно.
Программист на VB должен уметь это делать.
В связи с этим открываем серию статей "как создать свой контрол"

Часть первая
Создаем свой первый контрол - контейнер с плавающей надписью
Часть вторая
Сегодня мы будем создавать ActiveX Control невидимый во время работы программы
Часть третья
Сегодня мы не будем создавать свой контрол, а возьмем тот, который уже существует, и добавим в него свои свойства
Часть четвертая
Создаем "с нуля" ProgressBar контрол
Часть пятая
Создаем контрол - цифровой индикатор
Часть шестая
Здесь описывается создание градиентной заливки, эмуляции объема для контрола и текста, встраивание ComboBox'а в Property Page.
Часть седьмая
В данной статье описывается создание массивов в ActivX Control'е
Часть восьмая
Создание ActiveX Control'а с дополнительной формой
Часть девятая, заключительная
Создаём Контрол-контейнер произвольной формы

Это не FAQ, это просто обмен знаниями

Как упоминалось выше - созданные контролы требуется регистрировать - для этого в системе есть regsvr32.exe


Реклама на InfoCity

Яндекс цитирования



Финансы: форекс для тебя








1999-2009 © InfoCity.kiev.ua