Public Types | Public Member Functions | Protected Attributes

ExtContextMenuHandlerT< BASE > Struct Template Reference

#include <shellclasses.h>

Inheritance diagram for ExtContextMenuHandlerT< BASE >:
Inheritance graph
[legend]
Collaboration diagram for ExtContextMenuHandlerT< BASE >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef BASE super

Public Member Functions

 ExtContextMenuHandlerT (HWND hwnd)
template<typename PARA >
 ExtContextMenuHandlerT (HWND hwnd, const PARA &info)
LRESULT WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam)

Protected Attributes

CtxMenuInterfaces _cm_ifs

Detailed Description

template<typename BASE>
struct ExtContextMenuHandlerT< BASE >

Definition at line 1122 of file shellclasses.h.


Member Typedef Documentation

template<typename BASE>
typedef BASE ExtContextMenuHandlerT< BASE >::super

Constructor & Destructor Documentation

template<typename BASE>
ExtContextMenuHandlerT< BASE >::ExtContextMenuHandlerT ( HWND  hwnd ) [inline]

Definition at line 1127 of file shellclasses.h.

     :  super(hwnd)
    {
    }
template<typename BASE>
template<typename PARA >
ExtContextMenuHandlerT< BASE >::ExtContextMenuHandlerT ( HWND  hwnd,
const PARA &  info 
) [inline]

Definition at line 1132 of file shellclasses.h.

     :  super(hwnd, info)
    {
    }

Member Function Documentation

template<typename BASE>
LRESULT ExtContextMenuHandlerT< BASE >::WndProc ( UINT  nmsg,
WPARAM  wparam,
LPARAM  lparam 
) [inline]

Reimplemented in DesktopShellView, FileChildWindow, SDIMainFrame, MDIShellBrowserChild, QuickLaunchBar, StartMenu, and StartMenuRoot.

Definition at line 1137 of file shellclasses.h.

Referenced by ExtContextMenuHandlerT< ShellBrowserChildT< ChildWindow > >::WndProc().

    {
        switch(nmsg) {
          case WM_DRAWITEM:
          case WM_MEASUREITEM:
            if (!wparam)    // Is the message menu-related?
                if (_cm_ifs.HandleMenuMsg(nmsg, wparam, lparam))
                    return TRUE;

            break;

          case WM_INITMENUPOPUP:
            if (_cm_ifs.HandleMenuMsg(nmsg, wparam, lparam))
                return 0;

            break;

#ifndef __MINGW32__ // IContextMenu3 missing in MinGW (as of 6.2.2005)
          case WM_MENUCHAR: // only supported by IContextMenu3
           if (_cm_ifs._pctxmenu3) {
               LRESULT lResult = 0;

               _cm_ifs._pctxmenu3->HandleMenuMsg2(nmsg, wparam, lparam, &lResult);

               return lResult;
           }

           return 0;
#endif
        }

        return super::WndProc(nmsg, wparam, lparam);
    }

Here is the caller graph for this function:


Member Data Documentation

template<typename BASE>
CtxMenuInterfaces ExtContextMenuHandlerT< BASE >::_cm_ifs [protected]

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

ROS Explorer Source Code Documentation
generated on 02.01.2013 by doxygen

ROS Explorer Homepage