• 大小: 13.94MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-26
  • 语言: 其他
  • 标签: mb  browse  

资源简介

基于miniblink封装的WebBrowser控件CXMBWebCtrl ,以及完整的简单浏览器代码实现。

资源截图

代码片段和文件信息

#include “stdafx.h“
#include “AvaEditEx.h“
//////////////////////////////////////////////////////////////////////////
CAvaEditEx::CAvaEditEx(void)
: m_bUseSetColor(FALSE)
 m_crBackColor(0)
 m_crDisableBackColor(0)
 m_crTxtColor(0)
 m_strEmptyTxt(L““)
 m_hBrhWhenEmpty(NULL)
{

}

CAvaEditEx::~CAvaEditEx(void)
{

}

BEGIN_MESSAGE_MAP(CAvaEditEx CEdit)
ON_WM_DESTROY()
ON_WM_CTLCOLOR_REFLECT()
END_MESSAGE_MAP()

// 设置背景及文字颜色
void CAvaEditEx::SetColorEx(
IN  COLORREF crTxtColr           // 文字颜色
IN  COLORREF crBackColor         // 背景色
IN  COLORREF crDisableBackColor  // 不可点击时背景色
IN  LPCWSTR lpEmptyTxt            // 为空时显示文字

{
// 记录设置的颜色
m_bUseSetColor = TRUE;
m_crTxtColor = crTxtColr;
m_crBackColor = crBackColor;
m_crDisableBackColor = crDisableBackColor;
m_strEmptyTxt = (lpEmptyTxt!=NULL) ? CString(lpEmptyTxt) : L““;

// 创建背景画刷
m_brhBackBrush.CreateSolidBrush(m_crBackColor);
m_brhDisableBackBrush.CreateSolidBrush(m_crDisableBackColor);

// 使用为空时返回固定文字需要重新窗口空画刷
if (m_strEmptyTxt.GetLength() > 0)
{
CreateEmptyTxtBrush(m_brhBackBrush m_strEmptyTxt m_crTxtColor m_hBrhWhenEmpty);
}

// 重绘
if (GetSafeHwnd() != NULL)
{
Invalidate();
}
}

// 创建一个EDIT内容为空时的画刷
BOOL CAvaEditEx::CreateEmptyTxtBrush(
IN  HBRUSH hBrhBack               // 背景画刷
IN  LPCWSTR lpEmptyTxt            // 为空时显示默认文字
IN  COLORREF crTxt                // 文字颜色
OUT HBRUSH &hBrhEmpty              // 输出带有文字画刷

{
// 初始化输出参数
if (hBrhEmpty != NULL)
{
::Deleteobject(hBrhEmpty);
hBrhEmpty = NULL;
}

// 参数有效性
if (   hBrhBack == NULL
|| GetSafeHwnd() == NULL

{
return FALSE;
}

// 创建内存DC
HDC hDC = ::GetDC(m_hWnd);
HDC hdcDraw = ::CreateCompatibleDC(hDC);
CRect rcEdit;
GetClientRect(rcEdit);
HBITMAP hbmpDraw = ::CreateCompatibleBitmap(hDC rcEdit.Width() rcEdit.Height());
HGDIOBJ hgdiOldBmp = ::Selectobject(hdcDraw hbmpDraw);
::FillRect(hdcDraw &rcEdit hBrhBack);

// 绘制文字
if (lpEmptyTxt != NULL)
{
HFONT hFont =  (HFONT)SendMessage(WM_GETFONT 0 0);
::Selectobject(hdcDraw hFont);
::SetBkMode(hdcDraw TRANSPARENT);
::SetTextColor(hdcDraw crTxt);
CString strTxt = lpEmptyTxt;
::DrawTextW(hdcDraw strTxt strTxt.GetLength() &rcEdit DT_LEFT);
}

// 创建画刷
hBrhEmpty = ::CreatePatternBrush(hbmpDraw);

// 释放资源
::Selectobject(hdcDraw hgdiOldBmp);
::Deleteobject(hbmpDraw);
::Deleteobject(hdcDraw);
::ReleaseDC(m_hWnd hDC);

// 返回是否创建成功
return (hBrhEmpty != NULL) ? TRUE : FALSE;
}

BOOL CAvaEditEx::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
// 通知父窗口Enter键消息
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN) 
{
TCHAR szContent[_MAX_PATH] = {0};
GetWindowText(szContent _MAX_PATH);
CString strContent = szContent;
if(strContent.IsEmpty() == false)
{
GetParent()->PostMessage(WM_AvaEditEx_RETURN (WPARAM)GetSafeHwnd() 0);
}
}

return CEd

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件   24450560  2019-04-16 15:47  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\release_exe\node.dll

     文件     135168  2019-04-19 01:19  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\release_exe\XMiniblinkBrowser.exe

     文件       4703  2019-04-16 18:11  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\AvaEditEx.cpp

     文件       1514  2019-04-16 18:11  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\AvaEditEx.h

     文件      67777  2009-08-31 02:31  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\res\XMiniblinkBrowser.ico

     文件        818  2019-04-18 22:32  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\res\XMiniblinkBrowser.rc2

     文件       2112  2019-04-19 00:27  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\resource.h

     文件        219  2019-04-18 22:32  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\stdafx.cpp

     文件       1807  2019-04-18 22:32  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\stdafx.h

     文件        314  2019-04-18 22:32  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\targetver.h

     文件       2415  2019-04-18 22:45  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XHideMainDlg.cpp

     文件        760  2019-04-18 22:42  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XHideMainDlg.h

     文件   24450560  2019-04-16 15:47  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XMBWebCtrl\node.dll

     文件      63880  2019-04-16 15:47  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XMBWebCtrl\wke.h

     文件      21675  2019-04-19 01:03  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XMBWebCtrl\XMBWebCtrl.cpp

     文件       3825  2019-04-18 23:48  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XMBWebCtrl\XMBWebCtrl.h

     文件        310  2019-04-19 01:17  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XMBWebCtrl\使用说明.txt

     文件       2230  2019-04-18 22:57  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XMiniblinkBrowser.cpp

     文件        627  2019-04-18 22:48  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XMiniblinkBrowser.h

     文件      13264  2019-04-19 01:06  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XMiniblinkBrowser.rc

     文件       6358  2019-04-19 01:07  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XMiniblinkBrowser.vcxproj

     文件       2988  2019-04-19 01:07  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XMiniblinkBrowser.vcxproj.filters

     文件      14343  2019-04-19 00:43  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XMiniblinkBrowserDlg.cpp

     文件       5058  2019-04-19 00:38  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XMiniblinkBrowserDlg.h

     文件       6022  2019-04-19 01:08  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XOperatePanel.cpp

     文件       2561  2019-04-19 00:27  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XOperatePanel.h

     文件        918  2019-04-18 22:32  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser.sln

     目录          0  2019-04-19 01:22  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\res

     目录          0  2019-04-19 01:22  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser\XMBWebCtrl

     目录          0  2019-04-19 01:22  XMiniblinkBrowser_Demo_mfc_perfect(20190419)\XMiniblinkBrowser_src\XMiniblinkBrowser

............此处省略6个文件信息

评论

共有 条评论