Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
1 / 1 / 0
Регистрация: 08.05.2009
Сообщений: 16
1

Класс-обработчик событий IE

08.05.2009, 21:32. Показов 789. Ответов 0
Метки нет (Все метки)

Делаю обработку событий в IE.

Вот, что получилось:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
        IShellWindows *iSW;
        DShellWindowsEvents *dSWE;
        LPUNKNOWN dSWE;
        HRESULT hRes;
        ULONG lpdCookie;
        if (FAILED(CoInitialize(NULL)))
        {
                return 0;
        }
        hRes = CoCreateInstance(CLSID_ShellWindows, NULL, CLSCTX_ALL, IID_IShellWindows, (void **)&iSW);
        
        if(SUCCEEDED(hRes))
        {
                IConnectionPointContainer* cpc;
                iSW->QueryInterface(IID_IConnectionPointContainer, (void **)&cpc);
                IConnectionPoint *cp;
                if (SUCCEEDED(cpc->FindConnectionPoint(DIID_DShellWindowsEvents, &cp)))
                {
                        if (SUCCEEDED(cp->Advise(dSWE, &lpdCookie))) //!!!
                                cp->Release();
                        cpc->Release();
                }
                iSW->Release();
                iSW = NULL;
        }
        CoUninitialize();
нужно подключить класс-обработчик сообщений, делается это в строке (выше пометил воскл. знаками:

C++
1
if (SUCCEEDED(cp->Advise(dSWE, &lpdCookie)))
так вот, как создать класс-обработчик? насколько я знаю он должен обладать функциональностью: IUnknown, IDispatch, Invoke и способностью искать DISPID в таблице приемников и делегировать событие соответствующему обработчику.

Подскажите, пожалуйста. Проект разрабатывает на Borland C++. Возможно, можно просто создать OLE Automation объект, но опять же не очень понятно с какими методами и свойствами.

PS: создал тему в разделе COM, но та ветка мне кажется мертвой..
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2009, 21:32
Ответы с готовыми решениями:

Общий обработчик событий
Этот код взят из готового примера #include <vcl.h> #pragma hdrstop #include "Unit1.h"...

Не всегда срабатывает обработчик событий
Есть у меня класс (пусть будет C1), который наследуется от TImage У него есть 3 указателя на...

Общий обработчик событий для однотипных компонентов (например CheckBox)
Всем доброго времени суток. Прошу помощи в решении данного вопроса. Возникла маленькая проблемка. ...

Чего я не нашел по теме "обработчик событий"
Доброго времени суток. Обошел множество сайтов но нигде не нашел объяснения простой вещи. ...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2009, 21:32

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Обязательно ли обработчик событий выносить в отдельный класс?
Обязательно ли обработчик событий выносить в отдельный класс?

Обработчик событий
Здравствуйте! У меня имеется форма с тремя полями: Фрукты, Овощи и Итого. Необходимо, чтобы...

Обработчик событий
Нужна помощь. У меня по нажатия на кнопку открывается и закрывается текст. Но проблема в том , что...

Обработчик событий
Нужно написать скрипт, который будет выводить какие действия были сделаны, либо был выполнин клик,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.