"Sticky" MFC popup menu -
I currently have some toolbar buttons that have side by side with small arrow ( TBSTYLE_EX_DRAWDDARROWS
) When clicked, results in the popup context menu displayed below the button This is done by creating a custom popup menu and by calling TrackPopupMenu
.
The client now wants to be able to choose from many options from the menu before closing, so that many options
- the user clicks the dropdown button
- The dropdown menu appears (the modal wait for the user's action indefinitely)
- The user has some items (Eg, toggle a checkmark)
- The timer (e.g., 500ms) begins
- if the timer is equal Limit expires, the menu stops and executed all selected actions.
- Before the timer expires, the user clicks on another item, go back to 4.
The best I can come up with is to redesign the menu by calling TrackPopupMenu
several times when you select an item, the menu will be " Flicker ", and possibly to have a timeout, I'll need to start a thread, which I would like to save.
Instead of a menu, open a dialog box with options on it. A dialogue can easily be all necessary.
A menu that does not stop when you click, it will look just wrong. A dialog that closes by itself also seems wrong, but perhaps it is at least two evils.
Edit: If you have learned anything with Microsoft, try not to fight the default behavior. If you do this then you are asking for trouble. .
If you are dynamically creating your menu, then I can see how easy the automatic shape can be, but it is not difficult to do this in the dialog - make the dialog really big and before That it shows, count the children and take a union of all your rectangles, then resize it to check the boundaries to ensure that they are off-screen, if statement with offsetting The checkboxes are trivial;
Comments
Post a Comment