IContextMenu3

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

IContextMenu3

Martin Fuchs
Changelog:

2005-08-13  Martin Fuchs <[hidden email]>

        * include/shlobj.h (IContextMenu3): Define.
        * include/shlguid.h (IID_IContextMenu3): Declare.
        * lib/shell32.c (IID_IContextMenu3): Define.


For documentation see
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/ifaces/icontextmenu3/icontextmenu3.asp


Index: include/shlobj.h
===================================================================
RCS file: /cvs/src/src/winsup/w32api/include/shlobj.h,v
retrieving revision 1.38
diff -u -p -d -r1.38 shlobj.h
--- include/shlobj.h 29 Dec 2004 12:15:19 -0000 1.38
+++ include/shlobj.h 13 Aug 2005 12:50:10 -0000
@@ -601,6 +601,21 @@ DECLARE_INTERFACE_(IContextMenu2,IContex
 };
 typedef IContextMenu2 *LPCONTEXTMENU2;

+#undef INTERFACE
+#define INTERFACE IContextMenu3
+DECLARE_INTERFACE_(IContextMenu3,IContextMenu2)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD(QueryContextMenu)(THIS_ HMENU,UINT,UINT,UINT,UINT) PURE;
+ STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO) PURE;
+ STDMETHOD(GetCommandString)(THIS_ UINT,UINT,PUINT,LPSTR,UINT) PURE;
+ STDMETHOD(HandleMenuMsg)(THIS_ UINT,WPARAM,LPARAM) PURE;
+ STDMETHOD(HandleMenuMsg2)(THIS_ UINT,WPARAM,LPARAM,LRESULT*) PURE;
+};
+typedef IContextMenu3 *LPCONTEXTMENU3;
+
 #if (_WIN32_IE >= 0x0500)
 #pragma pack(push,8)
 typedef struct {
@@ -658,6 +673,17 @@ typedef enum {
 #define IContextMenu2_HandleMenuMsg(T,a,b,c) (T)->lpVtbl->HandleMenuMsg(T,a,b,c)
 #endif

+#ifdef COBJMACROS
+#define IContextMenu3_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
+#define IContextMenu3_AddRef(T) (T)->lpVtbl->AddRef(T)
+#define IContextMenu3_Release(T) (T)->lpVtbl->Release(T)
+#define IContextMenu3_QueryContextMenu(T,a,b,c,d,e) (T)->lpVtbl->QueryContextMenu(T,a,b,c,d,e)
+#define IContextMenu3_InvokeCommand(T,a) (T)->lpVtbl->InvokeCommand(T,a)
+#define IContextMenu3_GetCommandString(T,a,b,c,d,e) (T)->lpVtbl->GetCommandString(T,a,b,c,d,e)
+#define IContextMenu3_HandleMenuMsg(T,a,b,c) (T)->lpVtbl->HandleMenuMsg(T,a,b,c)
+#define IContextMenu3_HandleMenuMsg2(T,a,b,c,d) (T)->lpVtbl->HandleMenuMsg(T,a,b,c,d)
+#endif
+
 #undef INTERFACE
 #define INTERFACE IColumnProvider
 DECLARE_INTERFACE_(IColumnProvider,IUnknown)
Index: include/shlguid.h
===================================================================
RCS file: /cvs/src/src/winsup/w32api/include/shlguid.h,v
retrieving revision 1.7
diff -u -p -d -r1.7 shlguid.h
--- include/shlguid.h 24 Dec 2004 11:14:35 -0000 1.7
+++ include/shlguid.h 13 Aug 2005 12:47:52 -0000
@@ -36,6 +36,7 @@ extern const GUID IID_ICommDlgBrowser;
 extern const GUID IID_IEnumIDList;
 extern const GUID IID_IFileViewerSite;
 extern const GUID IID_IContextMenu2;
+extern const GUID IID_IContextMenu3;
 extern const GUID IID_IShellExecuteHookA;
 extern const GUID IID_IPropSheetPage;
 extern const GUID IID_INewShortcutHookW;
Index: lib/shell32.c
===================================================================
RCS file: /cvs/src/src/winsup/w32api/lib/shell32.c,v
retrieving revision 1.6
diff -u -p -d -r1.6 shell32.c
--- lib/shell32.c 24 Dec 2004 11:14:35 -0000 1.6
+++ lib/shell32.c 13 Aug 2005 12:53:51 -0000
@@ -27,6 +27,7 @@ DEFINE_SHLGUID(IID_ICommDlgBrowser,0x000
 DEFINE_SHLGUID(IID_IEnumIDList,0x000214F2L,0,0);
 DEFINE_SHLGUID(IID_IFileViewerSite,0x000214F3L,0,0);
 DEFINE_SHLGUID(IID_IContextMenu2,0x000214F4L,0,0);
+DEFINE_GUID(IID_IContextMenu3,0xBCFCE0A0,0xEC17,0x11D0,0x8D,0x10,0x0,0xA0,0xC9,0xF,0x27,0x19);
 DEFINE_SHLGUID(IID_IShellExecuteHookA,0x000214F5L,0,0);
 DEFINE_SHLGUID(IID_IPropSheetPage,0x000214F6L,0,0);
 DEFINE_SHLGUID(IID_INewShortcutHookW,0x000214F7L,0,0);



-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
MinGW-patches mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mingw-patches
Reply | Threaded
Open this post in threaded view
|

Re: IContextMenu3

Earnie Boyd
On 12:42:57 pm 2005-08-13 "Martin Fuchs" <[hidden email]> wrote:

> Changelog:
>
> 2005-08-13  Martin Fuchs <[hidden email]>
>
>     * include/shlobj.h (IContextMenu3): Define.
>     * include/shlguid.h (IID_IContextMenu3): Declare.
>     * lib/shell32.c (IID_IContextMenu3): Define.
>
>
> For documentation see
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shell
> cc/platform/shell/reference/ifaces/icontextmenu3/icontextmenu3.asp
>
>
> Index: include/shlobj.h
> ===================================================================
> RCS file: /cvs/src/src/winsup/w32api/include/shlobj.h,v
> retrieving revision 1.38

Martin,

Again, thanks for the patch.  Please be kind and submit a patch tracker
item.  Upload the changes in a file in the patch tracker.  See my sig for a
link.

Earnie

--
       MinGW - http://www.mingw.org/
        Wiki - http://www.mingw.org/MinGWiki/
  Bug Report - http://sourceforge.net/tracker/?group_id=2435&atid=102435
Submit Patch - http://sourceforge.net/tracker/?group_id=2435&atid=302435
  SF Project - http://sourceforge.net/projects/mingw
 Job Listing - http://sf.net/people/viewjob.php?group_id=2435&job_id=21643
 Job Listing - http://sf.net/people/viewjob.php?group_id=46778&job_id=22223



-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
MinGW-patches mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mingw-patches