5 строк кода

Как писать приложения на MS Access

Как получить доступ к свойствам диаграммы и других ActiveX объектов

Один комментарий

MS Access поддерживает технологию ActiveX. Но те возможности, которые предоставляет стандартный элемент управления OLE объектами весьма скудны. А иногда бывает необходимо управлять скрытыми свойствами ActiveX объекта. Как же добраться до свойств объектов ActiveX?

Рассмотрим эту задачку на примере диаграмм.
На форму (или отчет) вставим диаграмму с именем “OLE_PRODAZHA_CHART” и изменим название диаграммы программно.
Далее необходимо подключить библиотеку “Microsoft Graph X.0 Object Library”, чтобы тип “Chart” (диаграмма) стал доступен (ниже узнаете зачем он нужен). Увы для диаграмм Access почему-то не добавляет ссылку на библиотеку.
Также добавим на форму кнопку с названием “Изменить название диаграммы”. В обработчике событий разместим следующий код:

Dim obj As Graph.Chart

Set obj = Me.OLE_PRODAZHA_CHART.Object
obj.ChartTitle.Text = "Мое название"

Весь фокус заключается в типе “Graph.Chart” и свойстве “Object” элемента управления. Свойство “Object” элемента управления возвращает ссылку на созданный объект. Библиотека “Microsoft Graph X.0 Object Library” в коде называется Graph и предоставляет класс типа Chart. Теперь можно пользоваться справкой и просмотреть все свойства и методы класса Graph.Chart.

Как быть с другим ActiveX объектами?
После вставки ActiveX элемента на форму, Access сам добавить Reference на библиотеку типов. Найти библиотеку и тип ActiveX элемента можно найти в Object Browser (в редакторе кода можно нажать кнопку F2).
Чтобы точно определить имя нужной библиотеки и типа ActiveX элемента, давайте посмотрим на свойства уже ранее созданной диаграммы. А именно “Класс” и “Класс OLE”.
Для диаграммы свойства имеют значения:
— Класс = MSGraph.Chart.8
— Класс OLE = Microsoft Graph Chart
“Класс OLE” содержит описание для пользователя. По этому имени можно найти библиотеку типов списке ссылок (Tools->References). “Класс” содежит имя класса, при помощи которого можно создать этот объект.

Возвращаясь к злосчастной диаграмме, в Object Browser имя библиотеки будет Graph, а имя класса Chart.

В примере вы также найдете ActiveX элемент TreeView, посмотрите код в модуле формы. Там добавлена обработка события, которого нет в списке событий в свойствах элемента управления.

До встречи!

(с) Скоков Сергей

Подписаться на: RSS или e-mail рассылку или добавить в ЖЖ друзья.

Written by Сергей Скоков

Май 6th, 2009 at 12:45 дп

Posted in решения

Один комментарий to 'Как получить доступ к свойствам диаграммы и других ActiveX объектов'

Subscribe to comments with RSS or TrackBack to 'Как получить доступ к свойствам диаграммы и других ActiveX объектов'.

  1. Ключевой метод — OBJECT. Долго не мог вытянуть из OLE контйнера сам объект. Это делается методом Object.

    nefigaz

    1 мая 12 at 18:26

Leave a Reply