Re: Missing CMFCRibbonBar::OnHelpHitTest()
 
It appears that it is really CMFCRibbonBar::OnToolHitTest() that is missing.
CBasePane::OnHelpHitTest() ends up calling CWnd::OnToolHitTest(), which is 
virtual. Classes like CMFCToolBar override OnToolHitTest() to return the 
button at the specified location. Because CMFCRibbonBar does not override 
OnToolHitTest(), CWnd::OnToolHitTest() is called instead and it tries to 
find the child window at the specified point. Since ribbon elements are not 
actual windows, CWnd::OnToolHitTest() finds no child windows and returns -1.
As a result, CBasePane::OnHelpHitTest() simply returns the ID of the ribbon 
window itself, which is useless here.
Is this a bug?
Thanks.
-- 
Jonathan Wood
SoftCircuits Programming
http://www.softcircuits.com
"Jonathan Wood" <jwood@softcircuits.com> wrote in message 
news:uWd$g09OJHA.2392@TK2MSFTNGP04.phx.gbl...
So, has anyone else noticed that CMFCRibbonBar::OnHelpHitTest() doesn't 
appear to exist?
If you don't know, this is the handler for the WM_HELPHITTEST. MFC sends 
this message to handle ID_CONTEXT_HELP, which is when you click the help 
arrow and then click on a window or button to view the help associated 
with that command.
It appears this functionality is completely broken when you use the 
ribbon.
-- 
Jonathan Wood
SoftCircuits Programming
http://www.softcircuits.com