資源簡介
基于miniblink封裝的WebBrowser控件CXMBWebCtrl ,以及完整的簡單瀏覽器代碼實(shí)現(xiàn)。
代碼片段和文件信息
#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()
//?設(shè)置背景及文字顏色
void?CAvaEditEx::SetColorEx(
IN??COLORREF?crTxtColr???????????//?文字顏色
IN??COLORREF?crBackColor?????????//?背景色
IN??COLORREF?crDisableBackColor??//?不可點(diǎn)擊時(shí)背景色
IN??LPCWSTR?lpEmptyTxt????????????//?為空時(shí)顯示文字
)
{
//?記錄設(shè)置的顏色
m_bUseSetColor?=?TRUE;
m_crTxtColor?=?crTxtColr;
m_crBackColor?=?crBackColor;
m_crDisableBackColor?=?crDisableBackColor;
m_strEmptyTxt?=?(lpEmptyTxt!=NULL)???CString(lpEmptyTxt)?:?L““;
//?創(chuàng)建背景畫刷
m_brhBackBrush.CreateSolidBrush(m_crBackColor);
m_brhDisableBackBrush.CreateSolidBrush(m_crDisableBackColor);
//?使用為空時(shí)返回固定文字需要重新窗口空畫刷
if?(m_strEmptyTxt.GetLength()?>?0)
{
CreateEmptyTxtBrush(m_brhBackBrush?m_strEmptyTxt?m_crTxtColor?m_hBrhWhenEmpty);
}
//?重繪
if?(GetSafeHwnd()?!=?NULL)
{
Invalidate();
}
}
//?創(chuàng)建一個(gè)EDIT內(nèi)容為空時(shí)的畫刷
BOOL?CAvaEditEx::CreateEmptyTxtBrush(
IN??HBRUSH?hBrhBack???????????????//?背景畫刷
IN??LPCWSTR?lpEmptyTxt????????????//?為空時(shí)顯示默認(rèn)文字
IN??COLORREF?crTxt????????????????//?文字顏色
OUT?HBRUSH?&hBrhEmpty??????????????//?輸出帶有文字畫刷
)
{
//?初始化輸出參數(shù)
if?(hBrhEmpty?!=?NULL)
{
::Deleteobject(hBrhEmpty);
hBrhEmpty?=?NULL;
}
//?參數(shù)有效性
if?(???hBrhBack?==?NULL
||?GetSafeHwnd()?==?NULL
)
{
return?FALSE;
}
//?創(chuàng)建內(nèi)存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);
}
//?創(chuàng)建畫刷
hBrhEmpty?=?::CreatePatternBrush(hbmpDraw);
//?釋放資源
::Selectobject(hdcDraw?hgdiOldBmp);
::Deleteobject(hbmpDraw);
::Deleteobject(hdcDraw);
::ReleaseDC(m_hWnd?hDC);
//?返回是否創(chuàng)建成功
return?(hBrhEmpty?!=?NULL)???TRUE?:?FALSE;
}
BOOL?CAvaEditEx::PreTranslateMessage(MSG*?pMsg)
{
//?TODO:?在此添加專用代碼和/或調(diào)用基類
//?通知父窗口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
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???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個(gè)文件信息
評(píng)論
共有 條評(píng)論