Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Произвольное срабатывания CommandStateChange 
V
    Опции темы
Vicul
Дата 8.8.2011, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Мне в IE нужно перехавтывать конпки Back/Forward.

Объявляю метод:

Код


BEGIN_SINK_MAP(CAddonHandler)
...
SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_COMMANDSTATECHANGE, CommandStateChange)
.....
END_SINK_MAP()


void STDMETHODCALLTYPE CommandStateChange( long Command, VARIANT_BOOL Enable);



Описываю его так
Код

void STDMETHODCALLTYPE CAddonHandler::CommandStateChange( long Command, VARIANT_BOOL Enable)
{
if ((Command == CSC_NAVIGATEFORWARD) || (Command == CSC_NAVIGATEBACK))
m_numberTransition = 5;
}

Эта гадюка срабатывает на все операции в ИЕ и не только на нажатие этих кнопок. Причем выдается два вызова,
первый приходит с CSC_NAVIGATEBACK, второй с CSC_NAVIGATEFORWARD.

Что за хрень, где хомутнул?
PM MAIL   Вверх
nnemo
Дата 20.8.2011, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Это событие не отражает то, были ли нажаты кнопки Forward/Back. Оно сигнализирует, что обновилось состояние кнопок/menu items UI либо с Enabled на Disabled, либо - наоборот.
Например: если Вы открыли вкладку браузера (about:blank), то начальное состояние кнопок GoForward/GoBack - disabled.
Потом Вы делаете первую навигацию, и получаете, как минимум Command == CSC_NAVIGATEBACK, поскольку теперь кнопка/menu item GoBack cтала доступной.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




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


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

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