А.Н. Павлов. Высокоуровневые методы информатики и программирования

 

5.3. Создание и использование элемента ActiveX

5.3.1. Постановка задачи

Создание собственных элементов управления очень увлекательное дело. Удобство применения такого элемента в стандартных приложениях Ms Office, позволяет освободить пользователя от подготовки специальных программ на Visual Basic или писать макросы с использованием VBA. Элемент управления, созданный самостоятельно, помещается в таблицу ресурсов и может быть подключен простым выбором из списка. Есть некоторые особенности при создании таких элементов, о которых следует помнить. Ниже предложен пример создания элемента управления класса ActiveX и показано, как его можно использовать.

Пусть требуется встроить готовый элемент в виде приложения на лист Excel, с возможностью вводить сведения о сотрудниках в произвольной форме и постоянно пополнять файл. Это может быть и другое приложение, например, сотрудник организации должен постоянно пополнять данными таблицу Excel, а некоторые сведения требуется поместить в отдельный файл. Соответственно, можно предложить разнообразные подходы для реализации, поставленной задачи. Одним из таких подходов, является предложение – создать элемент управления, который постоянно находится на открытом листе Excel.

 

Шаг 1. Подготовка к работе.

Создайте папку на жестком диске, чтобы потом не искать, куда сохранять файлы, например “C:\Pavlov_A_N\Vvod\”

Шаг 2. Создание проекта.

Запустить Visual Basic 6.0  или пятую версию VB и выбрать пиктограмму, после нажатия на которую, откроется окно проекта с именем User Control. Этот режим позволяет работать с окном форм  в стандартном режиме, но при этом появляется возможность сохранить проект в виде пользовательского элемента управления. Единственным неудобством выбранного режима, является то, что запустить приложение для проверки нельзя, поэтому такое приложение можно сначала выполнить в стандартном проекте и отладить все коды, а затем их перенести в новый проект формы User Control. Если все выполнять аккуратно, то можно сразу заняться проектированием элемента ActiveX без дополнительных действий.

 

            Шаг 3. Разработка элемента управления.

           В открывшемся окне проводится размещение уже существующих элементов управления (стандартных), как в обычном окне проектов Visual Basic. Для поставленной задачи потребуются элементы:

         Label , для пояснений;

         TextBox , для ввода данных;

         CommandButton, для сохранения данных в файле;

         Image, для размещения рисунка на приложении.

Расположите элементы на окне проекта и выберете их размеры, по своему усмотрению, например, как это показано на рис. 39. В качестве совета следует отметить, что элемент управления должен использоваться в других проектах, поэтому его лучше делать небольших размеров.

 

 

Рис. 39. Окно проекта объекта ActiveX

 

 

               Шаг 4. Задание свойств элементов в окне проекта.

            В окне свойств целесообразно изменить некоторые параметры. Так, например, данный проект имеет имя (Name) – Vvod1, что будет отражено в последствии. Элемент Label имеет имя L1, выравнивание текста по ширине окна задается значением свойства (Aligment=center) и измененные размер шрифта и его цвет. Элемент TextBox имеет имя T1, чтобы производился автоматический перенос слов в строках при их вводе в окно, свойству Multiline присвоено значение True.Свойству ScrollBars присвоено значение Vertical, что позволит просматривать текст, если он имеет большие размеры. Элемент Image (изображение) введен для того, чтобы показать, что не имеет значения, из какой библиотеки выбран рисунок, при задании свойства Picture – файл с изображением автоматически запоминается вместе с проектом.

 

            Шаг 5. Разработка программных кодов.

В разрабатываемом элементе управления с именем Vvod1, при нажатии на кнопку «СОХРАНИТЬ В ФАЙЛЕ», должно произойти событие -   «перехват» содержимого текстового окна. После нажатия на кнопку, будет осуществлена записать введенных данных в файл последовательного доступа с именем Sved.doc. Для этого требуется составить программный код, который будет выглядеть, как это показано на рис. 40.

Private Sub C1_Click()

  Open "c:\Pavlov_A_N\Vvod\Sved1.doc" For Append As #1

    Write #1, T1.Text 

    Close #1

  a = MsgBox("ФАЙЛ РАСПОЛОЖЕН: C:\Pavlov_A_N\Vvod\Sved1.doc",  _

       31, "СВЕДЕНИЯ СОХРАНЕНЫ”)

End Sub

Рис. 40. Программные коды приложения

 

            Шаг 6. Сохранение проекта элемента управления.

            Выделите форму проекта, в строке меню необходимо выбрать: Make Projekt1.ocx. . . , после того как откроется окно Make Project,  необходимо активизировать закладку с именем Make, и заполнить необходимые окна, как это показано на рис. 41. При переходе к закладке с именем Compile, будет открыто окно, которое представлено на рис. 42.


Рис. 41. Заполнение сведений о проекте


Рис. 42. Внешний вид окна проекта с закладкой Compile

 

На рис. 42 показано окно со свойствами сохраняемого проекта и адрес библиотеки (DLL Base Address) в базе на компьютере пользователя с элементами ActiveX. Следует отметить, что данные, которые введены в окна для определения свойств (см. рис. 41 и рис. 42), заполнять не обязательно, но так как система будет их предлагать для заполнения, то представлены последовательно два рисунка.

Нажмите кнопку OK и в окне Make Projekt выберете место расположения файла с расширением .ocx, после чего нажмите кнопку OK. Вновь выберете в строке меню File\Save Project As…, после чего появится окно, как показано на рис. 43. В этом окне уже будет присутствовать имя проекта, но с расширением .ctl, целесообразно сохранить эту библиотеку в той же папке, что и элемент с расширением .ocx

Рис. 43. Выбор пути к файлу с библиотекой проекта

 

Когда библиотека будет сохранена, появится предложение для сохранения проекта в формате Visual Basic со стандартным расширением .vbp. Проекту опять целесообразно присвоить имя: Vvod1.vbp. Скорее всего появляется окно с предложением записать сведения о приложении в базу данных Visual Basic, можно отказаться и выбрать собственный путь к той папке, в которой следует сохранить проект, или заполнить, предложенную форму в указанном системой месте.

В результате выполняемых действий, при условии, что все элементы сохранялись в одной и той же папке, получится набор файлов, которые относятся к элементу управления, созданного пользователем. В данном случае, на рис. 44, показаны файлы, которые сохранены на диске C:\, в определенных папках: C:\Pavlov_A_N\Vvod\


Рис. 44. Набор файлов, созданных при сохранении проекта

              пользовательского элемента управления в виде ActiveX

 

Обратите внимание, что появляются файлы, которые не надо было специально назначать при сохранении проекта. Одним из таких является Mssccprj.scc, который будет использован, как системный при вызове элемента управления в любое другое приложение.

 

            Шаг 7. Проверка работоспособности приложения.

Закройте приложение Visual Basic, если все сделано в предложенной последовательности, то никаких вопросов система задавать не будет, в противном случае следует заполнить все формы, которые предложит система программирования.

 

5.3.2. Размещение элемента управления на панели инструментов

Откройте Visual Basic и запустите стандартный проект, в котором поле проекта используется только для размещения нового элемента. Смысл действия заключается в том, чтобы на панель инструментов добавить новый элемент ActiveX Control. После нажатия на кнопку ОК, на панель инструментов добавится новый элемент с обозначением, которое присваивает система, хотя этому элементу можно задать изображение собственной пиктограммы.

            Активизируйте окно с инструментами и на свободном месте щелкните правой кнопкой мыши. В контекстно-всплывающем окне, выберете команду Components…, после чего откроется окно с одноименным названием.

Откройте закладку Controls и пролистайте, когда встретится строка со словом Project, то выделите ее, как это показано на рис. 45. В том случае, если необходимый пользовательский (вновь созданный) элемент управления не отображается в реестре, то воспользуйтесь кнопкой Browse... (Показать) и найдите файл с расширением .ocx, в данном примере, этот файл находится: “C:\Pavlov_A_N\Vvod\Vvod1.ocx”.

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 45. Добавление нового элемента на панель управления

 

            Когда пользователь разрабатывает несколько собственных элементов управления типа ActiveX, тогда может случиться ситуация, которая отображена на рис. 45. Т.е. несколько элементов имеют наименование Projeckt1, тем не менее, свойство Location, отображается на экране и показывает истинное имя пользовательского элемента управления (в данном примере, созданный элемент с именем Vvod1.ocx).

Дальнейшее использование нового элемента не вызывает каких-либо сложностей, он будет функционировать точно так же, как и стандартные элементы управления. Перетащите элемент управления на окно проекта и отмасштабируйте по своему усмотрению.

 

5.3.3.          Использование разработанного элемента ActiveX в проектах Visual Basic

Пользовательский элемент ActiveX – является независимым приложением, поэтому его можно присоединять в новый проект на Visual Basic, не составляя какой-либо сложной программы. Для работы с уже имеющимся элементом ActiveX, откройте новый проект, разместите на форме проекта элемент, в данном примере используется элемент Vvod1, порядок переноса, описан выше. Проверьте работоспособность проекта. Нажмите на кнопку Start        , чтобы запустить проект в режиме отладки.

 

 

Рис. 46. Внешний вид формы с встроенным элементом ActiveX

 

На рис. 46 показан внешний вид проекта с встроенным на нем новым элементом ActiveX Control. Можно было бы добавить на эту форму еще другие элементы, но в данном примере мы ограничились лишь добавлением к проекту (Form1) метки, в которой записан текст следующего содержания: «Стандартная форма проекта на VB, с размещенным на ней новым элементом управления Vvod1.ocx».

В созданном элементе управления под именем Vvod1 используется указание пути к файлу с расширением .doc, в котором все время накапливаются данные. Пожалуй, это самое большое неудобство, которое относится к недостатку Visual Basic. Т.е. необходимо всегда знать, где будут находиться результаты работы. Если создать любой проект на VB и встроить в него элемент управления, а затем сохранить проект в виде исполнимого файла с расширением .exe, то помещать этот файл можно в любом месте, независимо от того, где находятся исходные модули элемента ActiveX. Необходимо только помнить, что элементы управления, которые создал пользователь, следует передавать на другой компьютер вместе с библиотеками Visual Basic.

 

5.3.4. Использование элементов управления в приложениях MS Office

Если создан элемент управления на компьютере пользователя или установлен с другого компьютера на рабочее место пользователя, то этот элемент ActiveX можно использовать для работы с приложениями MS Office, например, встраивать в Word или Excel. Предположим, что требуется встроить приложение Visual Basic на лист Excel. Размещение в Excel, Access, Power Point, Word готовых приложений, созданных на VB, позволяет пользователю применять дополнительные возможности при работе с данными, которые находятся в приложениях MS Office. Порядок размещения элемента управления на приложении Ms Office (в данном примере используется Excel) заключается в выполнении последовательно нескольких шагов.

Шаг 1. Подготовить Excel для работы.

Создадим новую книгу в Excel, в строке меню выберем: Вид и откроем панель инструментов Visual Basic, как показано на рис. 47.

Откроем меню: Вид\Панели инструментов\Visual Basic.

 

Эти кнопки надо нажать, тогда можно будет работать с таблицей элементов управления, которая открывается кнопкой на панели инструментов.

 

 

 

 

Рис. 47. Последовательность открытия панели инструментов для VB

 

            Шаг 2. Размещение элемента управления на приложении MS Office (Excel).

            На рис. 49 представлена последовательность размещения пользовательского элемента ActiveX на листе Excel. После того, как будет открыта панель инструментов Visual Basic  в Excel, необходимо воспользоваться пиктограммой с наименованием «Другие элементы» (см. рис. 48).

 

 

 

 

 

Рис. 48. Панель инструментов VB

 

           

На рис. 49 показан список, который появится после нажатия на кнопку с наименованием «Другие элементы». В списке будут отображены наименования элементов управления, которые присутствуют в системном реестре Windows (количество элементов на каждом компьютере разное). Необходимо отыскать элемент Project1 Vvod1, и выделить. Затем перетащить этот элемент на лист Excel и отмасштабировать (см. рис. 49).


Рис. 49. Подготовка элемента управления для работы в Excel

 

Шаг 3. Работа с элементом управления.

Выйти из режима конструктора (рис. 50), для чего следует щелкнуть по пиктограмме  (режим конструктора).

Прямоугольная выноска: Кнопка – Режим конструктора, которую следует освободить 

 

 

 


Рис. 50. Переход к запуску элемента управления

 

Можно приступить к работе  с приложением. Следует напомнить, что необходимо сохранить книгу Excel в любом удобном месте для пользователя, при повторном обращении к листу Excel все будет работать.

 

           

Hosted by uCoz