Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: COM/DCOM/ActiveX/ATL/CORBA > IOleCommandTarget::QueryStatus метод не вызывается


Автор: MANAB 31.7.2009, 21:35
Пишу тулбар к IE7. Начал с кнопки на панельке, благо усть туториалы как это все делать. http://billauer.co.il/blog/2009/05/making-ie-internet-explorer-toolbar-button-setup/
Сделать сделал, но вот такая засада, мне нужно чтобы когда юзер кнопку нажал, она стала неактивной, и вроде такое можно сделать, если в методе QueryStatus написать
Код

int i;

    // Indicate that we can do everything!

    for (i=0; i<((int) cCmds); i++)
        prgCmds[i].cmdf = OLECMDF_SUPPORTED;


Но вот только я проверял - этот метод никогда не вызывается. 
Кто сталкивался с таким? Как еще можно состояние кнопки изменить?  smile 
IOleCommandTarget::Exec у меня срабатывае как надо, может в нем как то это можно делать? я просто так и не нашел как.

Автор: MANAB 1.8.2009, 15:13
Переделал как здесь, http://msdn.microsoft.com/en-us/library/bb735853%28VS.85%29.aspx, тут уже не кнопка добавляется, а пункт в меню Сервис (Tools). Так вот, QueryStatus вызывается, когда нажмешь на этот меню, но вот только заставить свой пункт в меню быть неактивным у меня не получается, перепробовал все флаги уже для OLECMDF. Что за фигня такая!  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)