duilib 借助 MiniBlink实现浏览器窗体

本文介绍如何利用MiniBlink库将duilib扩展为具备浏览器功能的窗体,通过链接提供的MiniBlink资源,可以深入了解整合过程。
摘要由CSDN通过智能技术生成
#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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值