[Interest] win: can't trap WM_ENTER/EXITMENULOOP?

David M. Cotter dave at kjams.com
Mon Oct 25 18:39:40 CEST 2021


in the documentation here <https://docs.microsoft.com/en-us/windows/win32/menurc/menus>, it indicates i can get a message when the menu bar starts to be browsed, and another when the browsing is completed.

this is exactly what i need (the purpose is unrelated to this post).

So in my QMainWindow derived class, i override the nativeEvent() method, like so:

bool	QBrowserWindow::nativeEvent(
	const QByteArray&	eventType,
	void			*messageP,
	qintptr			*resultP)
{
	bool		handledB(false);

	if (eventType == kWindowsEventType_GENERIC) {
		MSG&		msg(*(MSG *)messageP);

		switch (msg.message) {

			default: {
				//	nothing else
			} break;

			case WM_ENTERMENULOOP: {
				Log("start menu browsing");
				SuspendTableUpdates(true);
			} break;

			case WM_EXITMENULOOP: {
				Log("end menu browsing");
				SuspendTableUpdates(false);
			} break;
		}
	}

	return handledB;
}
However, those messages are never sent :(

Any idea why not?


-dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20211025/31094d82/attachment.html>


More information about the Interest mailing list