implement MNS_NOTIFYBYPOS

Aric Stewart aric at codeweavers.com
Thu Aug 10 10:25:49 CDT 2006


-------------- next part --------------
>From nobody Mon Sep 17 00:00:00 2001
From: Aric Stewart <aric at codeweavers.com>
Date: Thu Aug 10 09:19:34 2006 -0500
Subject: [PATCH] basic implementation of MNS_NOTIFYBYPOS

---

 dlls/user/menu.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

31a966b83276e3527b64a6b7eaa6c6042680c4da
diff --git a/dlls/user/menu.c b/dlls/user/menu.c
index eb8632a..c3cf8e9 100644
--- a/dlls/user/menu.c
+++ b/dlls/user/menu.c
@@ -37,7 +37,6 @@
  *        - MNS_AUTODISMISS
  *        - MNS_DRAGDROP
  *        - MNS_MODELESS
- *        - MNS_NOTIFYBYPOS
  */
 
 #include "config.h"
@@ -2450,7 +2449,13 @@ static INT MENU_ExecFocusedItem( MTRACKE
 		    PostMessageW( pmt->hOwnerWnd, WM_SYSCOMMAND, item->wID,
 				  MAKELPARAM((INT16)pmt->pt.x, (INT16)pmt->pt.y) );
 		else
-		    PostMessageW( pmt->hOwnerWnd, WM_COMMAND, item->wID, 0 );
+		{
+			if (menu->dwStyle & MNS_NOTIFYBYPOS)
+				PostMessageW( pmt->hOwnerWnd, WM_MENUCOMMAND, menu->FocusedItem,
+					(LPARAM)hMenu);
+			else
+				PostMessageW( pmt->hOwnerWnd, WM_COMMAND, item->wID, 0 );
+		}
 	    }
 	    return item->wID;
 	}
@@ -4901,7 +4906,7 @@ BOOL WINAPI SetMenuInfo (HMENU hMenu, LP
 	    if (menu->dwStyle & MNS_AUTODISMISS) FIXME("MNS_AUTODISMISS unimplemented\n");
 	    if (menu->dwStyle & MNS_DRAGDROP) FIXME("MNS_DRAGDROP unimplemented\n");
 	    if (menu->dwStyle & MNS_MODELESS) FIXME("MNS_MODELESS unimplemented\n");
-	    if (menu->dwStyle & MNS_NOTIFYBYPOS) FIXME("MNS_NOTIFYBYPOS unimplemented\n");
+	    if (menu->dwStyle & MNS_NOTIFYBYPOS) FIXME("MNS_NOTIFYBYPOS partially implemented\n");
 	}
 
 	return TRUE;
-- 
1.2.4



More information about the wine-patches mailing list