#ifndef __UIWEBCEF_H__
#define __UIWEBCEF_H__
namespace DuiLib
{
class CWebCefWnd;
class UILIB_API CWebCefUI : public CControlUI
{
friend class CWebCefWnd;
public:
CWebCefUI();
virtual ~CWebCefUI();
public:
virtual LPCTSTR GetClass() const;
virtual LPVOID GetInterface(LPCTSTR pstrName);
virtual void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue);
void SetText(LPCTSTR text);
void SetPos(RECT rc);
void DoInit();
virtual void SetVisible(bool bVisible = true);
virtual void SetInternVisible(bool bVisible = true);
HWND GetCurCtrHwnd();
void SetHWND(HWND hWnd);
void PaintStatusImage(HDC hDC);
void SetBkColor(DWORD dwColor);
CWebCefWnd* GetWebCefWnd();
RECT CalPos();
protected:
HWND m_hWnd;
CWebCefWnd* m_pWindow;
DWORD m_dBkColor;
public:
bool m_IsFirst;
};
}
#endif // __UIWEBCEF_H__
#include "StdAfx.h"
#include "UIWebCef.h"
namespace DuiLib
{
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
class CWebCefWnd
{
public:
CWebCefWnd();
void Init(CWebCefUI* pOwner);
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
protected:
CWebCefUI* m_pOwner;
HBRUSH m_hBkBrush;
bool m_bInit;
public:
HWND m_hWnd;
};
CWebCefUI::CWebCefUI() :m_hWnd(NULL), m_pWindow(NULL), m_IsFirst(TRUE)
{
}
CWebCefUI::~CWebCefUI()
{
}
LPCTSTR CWebCefUI::GetClass() const
{
return _T("WebCefUI");
}
LPVOID CWebCefUI::GetInterface(LPCTSTR pstrName)
{
if (_tcscmp(pstrName, DUI_CTR_WEBCEF) == 0) return static_cast<CWebCefUI*>(this);
return CControlUI::GetInterface(pstrName);
}
void CWebCefUI::SetAttribute(LPCTSTR pstrName, LPCT