#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
|