#include <shellclasses.h>
Public Member Functions | |
CtxMenuInterfaces () | |
void | reset () |
bool | HandleMenuMsg (UINT nmsg, WPARAM wparam, LPARAM lparam) |
IContextMenu * | query_interfaces (IContextMenu *pcm1) |
Public Attributes | |
IContextMenu2 * | _pctxmenu2 |
IContextMenu3 * | _pctxmenu3 |
Definition at line 1104 of file shellclasses.h.
CtxMenuInterfaces::CtxMenuInterfaces | ( | ) | [inline] |
Definition at line 1106 of file shellclasses.h.
References reset().
{ reset(); }
bool CtxMenuInterfaces::HandleMenuMsg | ( | UINT | nmsg, |
WPARAM | wparam, | ||
LPARAM | lparam | ||
) |
Definition at line 492 of file shellclasses.cpp.
References _pctxmenu2, and _pctxmenu3.
Referenced by ExtContextMenuHandlerT< ShellBrowserChildT< ChildWindow > >::WndProc().
{ #ifndef __MINGW32__ // IContextMenu3 missing in MinGW (as of 6.2.2005) if (_pctxmenu3) { if (SUCCEEDED(_pctxmenu3->HandleMenuMsg(nmsg, wparam, lparam))) return true; } #endif if (_pctxmenu2) if (SUCCEEDED(_pctxmenu2->HandleMenuMsg(nmsg, wparam, lparam))) return true; return false; }
IContextMenu * CtxMenuInterfaces::query_interfaces | ( | IContextMenu * | pcm1 ) |
Definition at line 508 of file shellclasses.cpp.
References _pctxmenu2, _pctxmenu3, and reset().
Referenced by DesktopShellView::DoDesktopContextMenu(), and ShellFolderContextMenu().
{ IContextMenu* pcm = NULL; reset(); // Get the higher version context menu interfaces. #ifndef __MINGW32__ // IContextMenu3 missing in MinGW (as of 6.2.2005) if (pcm1->QueryInterface(IID_IContextMenu3, (void**)&pcm) == NOERROR) _pctxmenu3 = (LPCONTEXTMENU3)pcm; else #endif if (pcm1->QueryInterface(IID_IContextMenu2, (void**)&pcm) == NOERROR) _pctxmenu2 = (LPCONTEXTMENU2)pcm; if (pcm) { pcm1->Release(); return pcm; } else return pcm1; }
void CtxMenuInterfaces::reset | ( | ) |
Definition at line 483 of file shellclasses.cpp.
References _pctxmenu2, and _pctxmenu3.
Referenced by CtxMenuInterfaces(), DesktopShellView::DoDesktopContextMenu(), query_interfaces(), and ShellFolderContextMenu().
{ _pctxmenu2 = NULL; #ifndef __MINGW32__ // IContextMenu3 missing in MinGW (as of 6.2.2005) _pctxmenu3 = NULL; #endif }
IContextMenu2* CtxMenuInterfaces::_pctxmenu2 |
Definition at line 1115 of file shellclasses.h.
Referenced by HandleMenuMsg(), query_interfaces(), and reset().
IContextMenu3* CtxMenuInterfaces::_pctxmenu3 |
Definition at line 1118 of file shellclasses.h.
Referenced by HandleMenuMsg(), query_interfaces(), reset(), and ExtContextMenuHandlerT< ShellBrowserChildT< ChildWindow > >::WndProc().
ROS Explorer Source Code Documentation
generated on 02.01.2013 by ![]() |