ReactOS 0.4.15-dev-7998-gdb93cb1
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 741 of file msutb.cpp.

Constructor & Destructor Documentation

◆ CCicLibMenuItem()

CCicLibMenuItem::CCicLibMenuItem ( )

Definition at line 1964 of file msutb.cpp.

1965{
1966 m_uId = 0;
1967 m_dwFlags = 0;
1968 m_hbmp = NULL;
1969 m_hbmpMask = NULL;
1970 m_bstrText = NULL;
1971 m_pMenu = NULL;
1972}
ITfMenu * m_pMenu
Definition: msutb.cpp:749
HBITMAP m_hbmpMask
Definition: msutb.cpp:747
DWORD m_dwFlags
Definition: msutb.cpp:745
BSTR m_bstrText
Definition: msutb.cpp:748
HBITMAP m_hbmp
Definition: msutb.cpp:746
#define NULL
Definition: types.h:112

◆ ~CCicLibMenuItem()

CCicLibMenuItem::~CCicLibMenuItem ( )
virtual

Definition at line 1974 of file msutb.cpp.

1975{
1976 if (m_pMenu)
1977 {
1978 m_pMenu->Release();
1979 m_pMenu = NULL;
1980 }
1981
1982 if (m_hbmp)
1983 {
1985 m_hbmp = NULL;
1986 }
1987
1988 if (m_hbmpMask)
1989 {
1991 m_hbmpMask = NULL;
1992 }
1993
1995 m_bstrText = NULL;
1996}
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 2024 of file msutb.cpp.

2025{
2026 if (!hBitmap)
2027 return NULL;
2028
2029 HDC hDC = ::CreateDC(TEXT("DISPLAY"), NULL, NULL, NULL);
2030 if (!hDC)
2031 return NULL;
2032
2033 HBITMAP hbmMem = NULL;
2034
2035 BITMAP bm;
2036 ::GetObject(hBitmap, sizeof(bm), &bm);
2037
2038 HGDIOBJ hbmOld1 = NULL;
2039 HDC hdcMem1 = ::CreateCompatibleDC(hDC);
2040 if (hdcMem1)
2041 hbmOld1 = ::SelectObject(hdcMem1, hBitmap);
2042
2043 HGDIOBJ hbmOld2 = NULL;
2044 HDC hdcMem2 = ::CreateCompatibleDC(hDC);
2045 if (hdcMem2)
2046 {
2047 hbmMem = ::CreateCompatibleBitmap(hDC, bm.bmWidth, bm.bmHeight);
2048 hbmOld2 = ::SelectObject(hdcMem2, hbmMem);
2049 }
2050
2051 ::BitBlt(hdcMem2, 0, 0, bm.bmWidth, bm.bmHeight, hdcMem1, 0, 0, SRCCOPY);
2052
2053 if (hbmOld1)
2054 ::SelectObject(hdcMem1, hbmOld1);
2055 if (hbmOld2)
2056 ::SelectObject(hdcMem2, hbmOld2);
2057
2058 ::DeleteDC(hDC);
2059 if (hdcMem1)
2060 ::DeleteDC(hdcMem1);
2061 if (hdcMem2)
2062 ::DeleteDC(hdcMem2);
2063
2064 return hbmMem;
2065}
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:92
Definition: bl.h:1331
#define CreateDC
Definition: wingdi.h:4441
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1539
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 1998 of file msutb.cpp.

2006{
2007 m_uId = uId;
2010 if (!m_bstrText && cch)
2011 return FALSE;
2012
2013 m_pMenu = pMenu;
2015 m_hbmpMask = CreateBitmap(hbmpMask);
2016 if (hbmp)
2018 if (hbmpMask)
2019 ::DeleteObject(hbmpMask);
2020
2021 return TRUE;
2022}
HBITMAP hbmp
HBITMAP CreateBitmap(HANDLE hBitmap)
Definition: msutb.cpp:2024
#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 748 of file msutb.cpp.

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

◆ m_dwFlags

DWORD CCicLibMenuItem::m_dwFlags
protected

Definition at line 745 of file msutb.cpp.

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

◆ m_hbmp

HBITMAP CCicLibMenuItem::m_hbmp
protected

Definition at line 746 of file msutb.cpp.

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

◆ m_hbmpMask

HBITMAP CCicLibMenuItem::m_hbmpMask
protected

Definition at line 747 of file msutb.cpp.

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

◆ m_pMenu

ITfMenu* CCicLibMenuItem::m_pMenu
protected

Definition at line 749 of file msutb.cpp.

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

◆ m_uId

DWORD CCicLibMenuItem::m_uId
protected

Definition at line 744 of file msutb.cpp.

Referenced by CCicLibMenuItem(), and Init().


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