Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab01.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
56.32 Кб
Скачать
  1. Что делает функция OnDraw?

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

Она вызывается в тех случаях, когда элемент получает требование перерисовать себя. Эта функция, создаваемая ActiveX ControlWizard, она рисует эллипс!

  1. Что содержит класс страницы свойств: CfirstPropPage?

Страница свойств представляет собой отдельную вкладку диалогового окна, открывающего доступ к некоторым свойствам элемента. Кроме того, страница свойств сама является СОМ-объектом. Элемент может занести на страницу свойств любую информацию (хотя обычно на ней содержатся пары имен и значений свойств) и использовать столько страниц, сколько считает нужным. ActiveX ControlWizard создает всего одну пустую страницу свойств. Он оформляет ее в виде класса MFC, производного от COlePropertyPage. В нашем случае страница называется CFirstPropPage.

Страницы свойств - это OLE-объекты, которые дают пользователю возможность просматривать и изменять свойства элемента управления OLE. Страницы свойств содержат один или несколько стандартных диалоговых элементов управления, связанных с различными свойствами. Страницы свойств отображаются в виде модальных или немодальных диалоговых окон с закладками, причем каждой странице соответствует своя закладка. Чтобы отобразить на экране страницы свойств элемента управления, необходимо вызвать его “глагол свойств” - OLEVERB_PROPETIES.

По умолчанию средство MFC ActiveX ControlWizard создает одну страницу свойств, за работу которой в рассматриваемом случае OLE-элемента управления отвечает класс CFirstPropPpg.

Объявление класса

Класс страницы свойств CFirstPropPage объявляется в файле FirstPpg.h. Этот класс сгенерирован при создании проекта. Он реализует одну пустую страницу свойств. Этот класс является прямым потомком класса COlePropertyPage , базового класса всех страниц свойств.

Класс CFirstPropPage является OLE-объектом. Поэтому ему необходима фабрика классов, генерацию которой обеспечивает макрос DECLARE_OLECREATE_EX. Фабрика классов и генерация CLSID для класса страницы свойств реализована в файле FirstPpg.cpp при помощи макроса IMPLEMENT_OLECREATE_EX.

  1. Для чего используется guid?

Глобальный идентификатор

  1. Каким образом можно добавить новый метод?

Чтобы добавить в класс элемента управления метод автоматизации – метод, который может быть вызван в контейнере, – следует вызвать ClassWizard и выбрать вкладку “OLE Automation”. В появившемся окне следует выбрать кнопку “Add Method”. Затем в диалоговом окне в полях “External name” и “Internal name” ввести имя нового метода (внешнее и внутренне имена могут отличаться, внутреннее имя метода используется в классе элемента, при помощи внешнего имени контейнер может вызывать метод). Возвращаемое методом значение типа выбирается в списке “Return type”. После того, как ClassWizard создаст остов метода, программист может добавить в него код.

ClassWizard наряду с созданием остова метода добавляет в объявление класса описание созданного метода, а в схему диспетчеризации класса (в файле реализации класса) добавляет соответствующий макрос. В раздел интерфейса диспетчеризации odl-файла в его подраздел methods ClassWizard добавит строку, связывающую с методом идентификатор диспетчеризации.

Для определения реакции элемента управления на действия пользователя следует добавить в класс обработчик сообщения. Для построения остовов обработчиков сообщений следует вызвать ClassWizard и выбрать вкладку “Message Map”. Выбрав в поле “Class name” класс, а в поле “Message” необходимое сообщение, следует нажать кнопку “Add Function”. ClassWizard не только добавит в класс объявление созданных методов и их остовы, но и в таблицу обрабатываемых сообщений вставит соответствующие строки.

3

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]