dcsimg
 

Implementing Tooltips for Menus

Thursday Apr 27th 2000 by Marco Dehn

Illustrates how to implement tooltips for menus by overriding some key CMainFrame functions

Environment: VC6, NT4 SP3

Well, as you see the new Win2000 you may have wondered how to get those nice tool tips for menu bars in your own apps. Then you found the right place !

In my small demo application I implemented a very simple tooltip for menus which uses the status bar messages for its own display (informative though)

My implementation is probably quite preliminary, but it seems to work with NT 4.0, Win 98 and maybe Win 95, too.

All the changes to get the menu tip go to CMainFrame class. I first overrode both OnEnterMenuLoop and OnExitMenuLoop, furthermore OnEnterIdle and then FilterToolTipMessage. When a menu pops up, OnEnterMenuLoop is called, which then creates a WS_EX_TOPMOST style tooltip. The tooltip is updated by OnEnterIdle which passes fake WM_MOUSEMOVE messages to the tooltip using RelayEvent. I do need to override FilterToolTipMessage, because the MFC CWnd::FilterToolTipMessage does not create WS_EX_TOPMOST tooltips and therefore does NOT display the tooltip. It is important to define your own method !

Well, that4s it, I think. Just download the sample app and try it !

Downloads

Download demo project - 32 Kb
Home
Mobile Site | Full Site
Copyright 2018 © QuinStreet Inc. All Rights Reserved