#pragma once class CBitmapPicture : public CWindowImpl { public: BEGIN_MSG_MAP(CBitmapPicture) MESSAGE_HANDLER(WM_PAINT, OnPaint); END_MSG_MAP() CBitmapPicture(); LRESULT OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL &/*bHandled*/); bool SetIcon(LPCWSTR lpszResourceName, uint32_t nWidth, uint32_t nHeight); void SetBitmap(LPCWSTR lpszResourceName); void SetBackroundBrush(HBRUSH brush); private: CBitmapPicture(const CBitmapPicture&); CBitmapPicture& operator=(const CBitmapPicture&); bool CBitmapPicture::SetBitmap(HBITMAP hBitmap); int m_nResourceID; std::wstring m_strResourceName; uint32_t m_IconWidth, m_IconHeight; bool m_ResourceIcon; BITMAP m_bmInfo; CBitmap m_hBitmap; CBrush m_BackgroundBrush; };