ReactOS 0.4.15-dev-7998-gdb93cb1
CCicLibMenu Class Reference
Inheritance diagram for CCicLibMenu:
Collaboration diagram for CCicLibMenu:

Public Member Functions

 CCicLibMenu ()
 
virtual ~CCicLibMenu ()
 
STDMETHOD() QueryInterface (REFIID riid, LPVOID *ppvObj) override
 
 STDMETHOD_ (ULONG, AddRef)() override
 
 STDMETHOD_ (ULONG, Release)() override
 
STDMETHOD() AddMenuItem (UINT uId, DWORD dwFlags, HBITMAP hbmp, HBITMAP hbmpMask, const WCHAR *pch, ULONG cch, ITfMenu **ppSubMenu) override
 
 STDMETHOD_ (CCicLibMenu *, CreateSubMenu)()
 
 STDMETHOD_ (CCicLibMenuItem *, CreateMenuItem)()
 
HRESULT AddMenuItem ([in] UINT uId, [in] DWORD dwFlags, [in] HBITMAP hbmp, [in] HBITMAP hbmpMask, [in] const WCHAR *pch, [in] ULONG cch, ITfMenu **ppMenu)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 

Protected Attributes

CicArray< CCicLibMenuItem * > m_MenuItems
 
LONG m_cRefs
 

Additional Inherited Members

- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Public Attributes inherited from ITfMenu
const DWORD TF_LBMENUF_CHECKED = 0x00000001
 
const DWORD TF_LBMENUF_SUBMENU = 0x00000002
 
const DWORD TF_LBMENUF_SEPARATOR = 0x00000004
 
const DWORD TF_LBMENUF_RADIOCHECKED = 0x00000008
 
const DWORD TF_LBMENUF_GRAYED = 0x00000010
 

Detailed Description

Definition at line 714 of file msutb.cpp.

Constructor & Destructor Documentation

◆ CCicLibMenu()

CCicLibMenu::CCicLibMenu ( )

Definition at line 1875 of file msutb.cpp.

1875 : m_cRefs(1)
1876{
1877}
LONG m_cRefs
Definition: msutb.cpp:718

Referenced by STDMETHODIMP_().

◆ ~CCicLibMenu()

CCicLibMenu::~CCicLibMenu ( )
virtual

Definition at line 1879 of file msutb.cpp.

1880{
1881 for (size_t iItem = 0; iItem < m_MenuItems.size(); ++iItem)
1882 {
1883 delete m_MenuItems[iItem];
1884 m_MenuItems[iItem] = NULL;
1885 }
1886}
CicArray< CCicLibMenuItem * > m_MenuItems
Definition: msutb.cpp:717
size_t size() const
Definition: cicarray.h:34
#define NULL
Definition: types.h:112

Member Function Documentation

◆ AddMenuItem()

STDMETHODIMP CCicLibMenu::AddMenuItem ( UINT  uId,
DWORD  dwFlags,
HBITMAP  hbmp,
HBITMAP  hbmpMask,
const WCHAR pch,
ULONG  cch,
ITfMenu **  ppSubMenu 
)
override

Implements ITfMenu.

Definition at line 1923 of file msutb.cpp.

1931{
1932 if (ppSubMenu)
1933 *ppSubMenu = NULL;
1934
1935 CCicLibMenu *pSubMenu = NULL;
1937 {
1938 if (!ppSubMenu)
1939 return E_INVALIDARG;
1940 pSubMenu = CreateSubMenu();
1941 }
1942
1943 CCicLibMenuItem *pMenuItem = CreateMenuItem();
1944 if (!pMenuItem)
1945 return E_OUTOFMEMORY;
1946
1947 if (!pMenuItem->Init(uId, dwFlags, hbmp, hbmpMask, pch, cch, pSubMenu))
1948 return E_FAIL;
1949
1950 if (ppSubMenu && pSubMenu)
1951 {
1952 *ppSubMenu = pSubMenu;
1953 pSubMenu->AddRef();
1954 }
1955
1956 m_MenuItems.Add(pMenuItem);
1957 return S_OK;
1958}
HBITMAP hbmp
BOOL Init(UINT uId, DWORD dwFlags, HBITMAP hbmp, HBITMAP hbmpMask, const WCHAR *pch, ULONG cch, ITfMenu *pMenu)
Definition: msutb.cpp:1998
BOOL Add(const T_ITEM &item)
Definition: cicarray.h:60
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_INVALIDARG
Definition: ddrawi.h:101
#define E_FAIL
Definition: ddrawi.h:102
const DWORD TF_LBMENUF_SUBMENU
Definition: ctfutb.idl:431
ULONG AddRef()
#define S_OK
Definition: intsafe.h:52
#define pch(ap)
Definition: match.c:418
static DWORD DWORD void LPSTR DWORD cch
Definition: str.c:202
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176

◆ QueryInterface()

STDMETHODIMP CCicLibMenu::QueryInterface ( REFIID  riid,
LPVOID ppvObj 
)
override

Definition at line 1888 of file msutb.cpp.

1889{
1890 static const QITAB c_tab[] =
1891 {
1893 { NULL }
1894 };
1895 return ::QISearch(this, c_tab, riid, ppvObj);
1896}
REFIID riid
Definition: atlbase.h:39
#define QITABENT(Cthis, Ifoo)
Definition: shlwapi.h:2094

◆ STDMETHOD_() [1/4]

CCicLibMenu::STDMETHOD_ ( CCicLibMenu ,
CreateSubMenu   
)

◆ STDMETHOD_() [2/4]

CCicLibMenu::STDMETHOD_ ( CCicLibMenuItem ,
CreateMenuItem   
)

◆ STDMETHOD_() [3/4]

CCicLibMenu::STDMETHOD_ ( ULONG  ,
AddRef   
)
override

◆ STDMETHOD_() [4/4]

CCicLibMenu::STDMETHOD_ ( ULONG  ,
Release   
)
override

Member Data Documentation

◆ m_cRefs

LONG CCicLibMenu::m_cRefs
protected

Definition at line 718 of file msutb.cpp.

◆ m_MenuItems

CicArray<CCicLibMenuItem*> CCicLibMenu::m_MenuItems
protected

Definition at line 717 of file msutb.cpp.

Referenced by AddMenuItem(), CUTBLBarMenu::CreateMenuUI(), and ~CCicLibMenu().


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