TrackPopupMenu() and TPM_RECURSE

olympia at olympia at
Wed Jan 2 18:12:26 CST 2008


According to the MSDN documentation (see below), TrackPopupMenu() should
only display multiple popupmenus if TPM_RECURSE is used. At the moment,
Wine always seems to allow this and in some applications this results in
very confusing menu overlaps.

Moreover, the old popup menus will never be closed. This seems to
particularly be the case in applications that use TrackPopupMenuEx() for
their application menus.

I was looking at the code and was unsure of how existing popup menus in a
window should be safely closed when the application calls TrackPopupMenu()
a second or third time. Does anyone have a suggestion?

Best regards,


Windows 98/Me, Windows 2000/XP: Use the TPM_RECURSE flag to display a menu
when another menu is already displayed. This is intended to support
context menus within a menu.

More information about the wine-devel mailing list