ReactOS 0.4.16-dev-456-ga97fcf1
CCicLibMenuItem Class Reference
Inheritance diagram for CCicLibMenuItem:
Collaboration diagram for CCicLibMenuItem:

Public Member Functions

 CCicLibMenuItem ()
 
virtual ~CCicLibMenuItem ()
 
BOOL Init (UINT uId, DWORD dwFlags, HBITMAP hbmp, HBITMAP hbmpMask, const WCHAR *pch, ULONG cch, ITfMenu *pMenu)
 
HBITMAP CreateBitmap (HANDLE hBitmap)
 

Protected Attributes

DWORD m_uId
 
DWORD m_dwFlags
 
HBITMAP m_hbmp
 
HBITMAP m_hbmpMask
 
BSTR m_bstrText
 
ITfMenum_pMenu
 

Detailed Description

Definition at line 736 of file msutb.cpp.

Constructor & Destructor Documentation

◆ CCicLibMenuItem()

CCicLibMenuItem::CCicLibMenuItem ( )

Definition at line 1959 of file msutb.cpp.

1960{
1961 m_uId = 0;
1962 m_dwFlags = 0;
1963 m_hbmp = NULL;
1964 m_hbmpMask = NULL;
1965 m_bstrText = NULL;
1966 m_pMenu = NULL;
1967}
ITfMenu * m_pMenu
Definition: msutb.cpp:744
HBITMAP m_hbmpMask
Definition: msutb.cpp:742
DWORD m_dwFlags
Definition: msutb.cpp:740
BSTR m_bstrText
Definition: msutb.cpp:743
HBITMAP m_hbmp
Definition: msutb.cpp:741
#define NULL
Definition: types.h:112

◆ ~CCicLibMenuItem()

CCicLibMenuItem::~CCicLibMenuItem ( )
virtual

Definition at line 1969 of file msutb.cpp.

1970{
1971 if (m_pMenu)
1972 {
1973 m_pMenu->Release();
1974 m_pMenu = NULL;
1975 }
1976
1977 if (m_hbmp)
1978 {
1980 m_hbmp = NULL;
1981 }
1982
1983 if (m_hbmpMask)
1984 {
1986 m_hbmpMask = NULL;
1987 }
1988
1990 m_bstrText = NULL;
1991}
pKey DeleteObject()
ULONG Release()
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271

Member Function Documentation

◆ CreateBitmap()

HBITMAP CCicLibMenuItem::CreateBitmap ( HANDLE  hBitmap)

Definition at line 2019 of file msutb.cpp.

2020{
2021 if (!hBitmap)
2022 return NULL;
2023
2024 HDC hDC = ::CreateDC(TEXT("DISPLAY"), NULL, NULL, NULL);
2025 if (!hDC)
2026 return NULL;
2027
2028 HBITMAP hbmMem = NULL;
2029
2030 BITMAP bm;
2031 ::GetObject(hBitmap, sizeof(bm), &bm);
2032
2033 HGDIOBJ hbmOld1 = NULL;
2034 HDC hdcMem1 = ::CreateCompatibleDC(hDC);
2035 if (hdcMem1)
2036 hbmOld1 = ::SelectObject(hdcMem1, hBitmap);
2037
2038 HGDIOBJ hbmOld2 = NULL;
2039 HDC hdcMem2 = ::CreateCompatibleDC(hDC);
2040 if (hdcMem2)
2041 {
2042 hbmMem = ::CreateCompatibleBitmap(hDC, bm.bmWidth, bm.bmHeight);
2043 hbmOld2 = ::SelectObject(hdcMem2, hbmMem);
2044 }
2045
2046 ::BitBlt(hdcMem2, 0, 0, bm.bmWidth, bm.bmHeight, hdcMem1, 0, 0, SRCCOPY);
2047
2048 if (hbmOld1)
2049 ::SelectObject(hdcMem1, hbmOld1);
2050 if (hbmOld2)
2051 ::SelectObject(hdcMem2, hbmOld2);
2052
2053 ::DeleteDC(hDC);
2054 if (hdcMem1)
2055 ::DeleteDC(hdcMem1);
2056 if (hdcMem2)
2057 ::DeleteDC(hdcMem2);
2058
2059 return hbmMem;
2060}
static HDC hDC
Definition: 3dtext.c:33
static HBITMAP hBitmap
Definition: timezone.c:26
static VOID BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
Definition: common.c:57
#define TEXT(s)
Definition: k32.h:26
static HBITMAP
Definition: button.c:44
static HDC
Definition: imagelist.c:88
Definition: bl.h:1331
#define CreateDC
Definition: wingdi.h:4441
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1546
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
#define SRCCOPY
Definition: wingdi.h:333
HBITMAP WINAPI CreateCompatibleBitmap(_In_ HDC hdc, _In_ INT cx, _In_ INT cy)
#define GetObject
Definition: wingdi.h:4468
BOOL WINAPI DeleteDC(_In_ HDC)

Referenced by Init().

◆ Init()

BOOL CCicLibMenuItem::Init ( UINT  uId,
DWORD  dwFlags,
HBITMAP  hbmp,
HBITMAP  hbmpMask,
const WCHAR pch,
ULONG  cch,
ITfMenu pMenu 
)

Definition at line 1993 of file msutb.cpp.

2001{
2002 m_uId = uId;
2005 if (!m_bstrText && cch)
2006 return FALSE;
2007
2008 m_pMenu = pMenu;
2010 m_hbmpMask = CreateBitmap(hbmpMask);
2011 if (hbmp)
2013 if (hbmpMask)
2014 ::DeleteObject(hbmpMask);
2015
2016 return TRUE;
2017}
HBITMAP hbmp
HBITMAP CreateBitmap(HANDLE hBitmap)
Definition: msutb.cpp:2019
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define pch(ap)
Definition: match.c:418
static DWORD DWORD void LPSTR DWORD cch
Definition: str.c:202
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
Definition: oleaut.c:339
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176

Referenced by CCicLibMenu::AddMenuItem().

Member Data Documentation

◆ m_bstrText

BSTR CCicLibMenuItem::m_bstrText
protected

Definition at line 743 of file msutb.cpp.

Referenced by CCicLibMenuItem(), Init(), and ~CCicLibMenuItem().

◆ m_dwFlags

DWORD CCicLibMenuItem::m_dwFlags
protected

Definition at line 740 of file msutb.cpp.

Referenced by CCicLibMenuItem(), Init(), and CUTBLBarMenuItem::InsertToUI().

◆ m_hbmp

HBITMAP CCicLibMenuItem::m_hbmp
protected

Definition at line 741 of file msutb.cpp.

Referenced by CCicLibMenuItem(), Init(), and ~CCicLibMenuItem().

◆ m_hbmpMask

HBITMAP CCicLibMenuItem::m_hbmpMask
protected

Definition at line 742 of file msutb.cpp.

Referenced by CCicLibMenuItem(), Init(), and ~CCicLibMenuItem().

◆ m_pMenu

ITfMenu* CCicLibMenuItem::m_pMenu
protected

Definition at line 744 of file msutb.cpp.

Referenced by CCicLibMenuItem(), Init(), and ~CCicLibMenuItem().

◆ m_uId

DWORD CCicLibMenuItem::m_uId
protected

Definition at line 739 of file msutb.cpp.

Referenced by CCicLibMenuItem(), and Init().


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