Public Member Functions | Public Attributes

CtxMenuInterfaces Struct Reference

#include <shellclasses.h>

Collaboration diagram for CtxMenuInterfaces:
Collaboration graph
[legend]

List of all members.

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

Detailed Description

Definition at line 1104 of file shellclasses.h.


Constructor & Destructor Documentation

CtxMenuInterfaces::CtxMenuInterfaces (  ) [inline]

Definition at line 1106 of file shellclasses.h.

References reset().

    {
        reset();
    }

Here is the call graph for this function:


Member Function Documentation

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;
}

Here is the caller graph for this function:

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;
}

Here is the call graph for this function:

Here is the caller graph for this function:

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
}

Here is the caller graph for this function:


Member Data Documentation

Definition at line 1115 of file shellclasses.h.

Referenced by HandleMenuMsg(), query_interfaces(), and reset().


The documentation for this struct was generated from the following files:

ROS Explorer Source Code Documentation
generated on 02.01.2013 by doxygen

ROS Explorer Homepage