Поиск:

Ответ в темуСоздание новой темы Создание опроса
> event on ActiveX + MFC 
:(
    Опции темы
ИванМ
Дата 25.6.2012, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1260
Регистрация: 19.6.2006
Где: СПб

Репутация: нет
Всего: 23



Создал проект ActiveX на MFC. Все вроде работает, но не получается добавить обработчик события.
Делал так: в Inspector'е добавил новый стандартный event MouseDown. В idl-файле появилась строка:
Код

[id(DISPID_MOUSEDOWN)] void MouseDown(SHORT Button, SHORT Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);

А что писать в cpp / h я не знаю. Пробовал так:
h:
Код

DECLARE_EVENT_MAP()
afx_msg void MouseDown(SHORT Button, SHORT Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);

cpp:
Код

void CAXTestCtrl::MouseDown(SHORT Button, SHORT Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y)
{
    MessageBox(L"TEST");
}

Не работает. Как надо правильно писать?
PM MAIL   Вверх
akizelokro
Дата 14.6.2013, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: нет
Всего: 5



это стандартное событие. проще его добавлять wizard'ом
но можно и ручками:
-в odl файл компонента в интерфейс событий
Код

//{{AFX_ODL_EVENT(твой_класс)
//}}AFX_ODL_EVENT
[id(DISPID_MOUSEDOWN)] void MouseDown(SHORT Button, SHORT Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);



- в cpp c кодом класса
Код

BEGIN_EVENT_MAP(твой_класс, COleControl)
    //{{AFX_EVENT_MAP(AnimeImage)
    //}}AFX_EVENT_MAP
    EVENT_STOCK_MOUSEDOWN()
END_EVENT_MAP()



Используется для передачи информации о событии "наружу" из компонента. Ты можешь инициировать его и программно с помощью FireMouseDown(....) внутри компонента в коде


Оопсь! Какой старый по дате вопрос(

Это сообщение отредактировал(а) akizelokro - 14.6.2013, 20:54


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0854 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.