Элементы управления ActiveX в MFC. Добавление стандартных методов
Стандартный метод отличается от пользовательского тем, что он уже реализован классом COleControl. Например, COleControl
содержит предопределенную функцию-член, которая поддерживает метод Refresh для элемента управления. Запись схемы диспетчеризации для этого стандартного метода — DISP_STOCKFUNC_REFRESH.
Важно!
ActiveX — это устаревшая технология, которую не следует использовать для новых разработок. Дополнительные сведения о современных технологиях, которые заменяют ActiveX, см. в разделе Элементы ActiveX.
COleControl
поддерживает два метода хранения: DoClick и Refresh. Refresh вызывается пользователем элемента управления для немедленного обновления внешнего вида элемента управления; DoClick вызывается для срабатывания события Click элемента управления.
Метод | Запись схемы диспетчеризации | Комментарии |
---|---|---|
DoClick |
DISP_STOCKPROP_DOCLICK( ) | Вызывает событие Click. |
Refresh |
DISP_STOCKPROP_REFRESH( ) | Немедленно обновляет внешний вид элемента управления. |
Добавление стандартного метода с помощью мастера добавления метода
Добавить стандартный метод можно с помощью мастера добавления метода. Следующая процедура демонстрирует добавление метода Refresh к элементу управления, созданному с помощью мастера управления ActiveX MFC.
Добавление стандартного метода Refresh с помощью мастера добавления метода
Загрузите проект элемента управления.
В представлении класса разверните узел библиотеки элемента управления.
Щелкните правой кнопкой мыши узел интерфейса для элемента управления (второй узел узла библиотеки), чтобы открыть контекстное меню.
В контекстном меню выберите команду Добавить, а затем — Добавить метод.
Откроется мастер добавления метода.
В поле Имя метода щелкните Refresh.
Нажмите кнопку Готово.
Изменение мастера добавления метода для стандартных методов
Так как стандартный метод Refresh поддерживается базовым классом элемента управления, мастер добавления метода не меняет объявление класса элемента управления. Он добавляет запись для метода в схему диспетчеризации элемента управления и в IDL-файл. Следующая строка добавляется в схему диспетчеризации элемента управления, расположенную в его реализации (CPP-файл):
DISP_STOCKFUNC_REFRESH()
Благодаря этому метод Refresh становится доступным для пользователей элемента управления.
Следующая строка добавляется в IDL-файл элемента управления:
[id(DISPID_REFRESH), helpstring("method Refresh")] void Refresh(void);
Эта строка присваивает методу Refresh конкретный идентификационный номер.