资源简介
基于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 XMinibl
文件 135168 2019-04-19 01:19 XMinibl
文件 4703 2019-04-16 18:11 XMinibl
文件 1514 2019-04-16 18:11 XMinibl
文件 67777 2009-08-31 02:31 XMinibl
文件 818 2019-04-18 22:32 XMinibl
文件 2112 2019-04-19 00:27 XMinibl
文件 219 2019-04-18 22:32 XMinibl
文件 1807 2019-04-18 22:32 XMinibl
文件 314 2019-04-18 22:32 XMinibl
文件 2415 2019-04-18 22:45 XMinibl
文件 760 2019-04-18 22:42 XMinibl
文件 24450560 2019-04-16 15:47 XMinibl
文件 63880 2019-04-16 15:47 XMinibl
文件 21675 2019-04-19 01:03 XMinibl
文件 3825 2019-04-18 23:48 XMinibl
文件 310 2019-04-19 01:17 XMinibl
文件 2230 2019-04-18 22:57 XMinibl
文件 627 2019-04-18 22:48 XMinibl
文件 13264 2019-04-19 01:06 XMinibl
文件 6358 2019-04-19 01:07 XMinibl
文件 2988 2019-04-19 01:07 XMinibl
文件 14343 2019-04-19 00:43 XMinibl
文件 5058 2019-04-19 00:38 XMinibl
文件 6022 2019-04-19 01:08 XMinibl
文件 2561 2019-04-19 00:27 XMinibl
文件 918 2019-04-18 22:32 XMinibl
目录 0 2019-04-19 01:22 XMinibl
目录 0 2019-04-19 01:22 XMinibl
目录 0 2019-04-19 01:22 XMinibl
............此处省略6个文件信息
- 上一篇:车牌识别数据集中英
- 下一篇:完全自学-系统安装与重装图文教程
相关资源
- PMBOK第六版重点图表
- Cucumber 行为驱动开发指南 [英韦恩,
- abaqus经典例题
- Digidesign mbox2驱动
- 项目管理知识体系指南(PMBOK指南)第
- 最新PMBOK第六版_中文版带完整目录书
- FA_RMB_List_Price_FY1819_20190710(2).xlsx
- dubbo-monitor-simple-2.8.4-assembly.tar.gz
- samba-3.0.33-3.14.el5.i386.rpm
- 2013-2014的MBP的固件427
- A Course In Number Theory And Cryptography
- Combine Asynchronous Programming with Swift v0
- PMP项目管理知识体系指南PMBOK第六版高
- 富士通MB9Axxx-MB9Bxxx系列中文参考手册
- PMBOK® Guide – Sixth Edition官方英文版
- PMBOK 第六版 中英文版合集
- PMP考试-PMBOK指南第6版中文
- KB2729094、KB2731771、KB2533623、KB2670838、
- Modern X86 Assembly Language Programming
- SpringMVC+Redis+Activiti+Fastdfs+Thirft+Websoc
- 大众汽车 5053 vcds11.11.2 破解版 36MB
- MIB browser ireasoning.exe
- [资料]项目管理知识体系指南PMBOK指南
- 2019PMP项目管理PMBOK第六版中英文电子
- tor-browser-linux64-7.0.9_zh-CN.tar.xz
- Hopper Disassembler v4 For Mac 破解版本
- Speech Recognition_Columbia(哥大最新语音
- 阿里云 OSS Browser 1.9.1 for Windows
- 汇编语言_基于x86处理器第7版_中文高
- Hopper V4 破解版
评论
共有 条评论