gusucode.com > 仿360最新界面的源码程序 > 仿360最新界面的源码程序/仿360新版特性窗口源码/部分源码/子页面示例代码/QChildPage/WndChildPage.cpp
/************************************************************************ 模快名: 仿360安全卫士界面 功能: 尚未对模块功能进行描述 完成日期: 2010-10-20 作者: 杨伟峰 Yang Weifeng(Email: 11259500@qq.com) 本代码可以自由使用,但因使用本代码造成的后果,本人不承担任何责任 ************************************************************************/ #include "stdafx.h" #include "WndChildPage.h" #include "ExtensionWnd.h" // 标准构造函数 CWndChildPage::CWndChildPage() { } // 标准析构函数 CWndChildPage::~CWndChildPage() { } BEGIN_MESSAGE_MAP(CWndChildPage, CWnd) ON_WM_ERASEBKGND() END_MESSAGE_MAP() // CWndChildPage 消息处理程序 // WM_ERASEBKGND消息处理函数 BOOL CWndChildPage::OnEraseBkgnd(CDC* pDC) { // 使用UNICODE字符转换 USES_CONVERSION; CRect rtClient; GetClientRect(rtClient); // 创建窗口绘制双缓存 CDC dcMem; dcMem.CreateCompatibleDC(pDC); CBitmap btBitmap, *pOldBitmap; btBitmap.CreateCompatibleBitmap(pDC, rtClient.Width(), rtClient.Height()); pOldBitmap = dcMem.SelectObject(&btBitmap); // 绘制窗口背景 CFunctions::DrawTransBack(m_hWnd, dcMem); Gdiplus::Graphics graphics(dcMem.m_hDC); // 绘制窗口文字 StringFormat stringFormat; stringFormat.SetFormatFlags( StringFormatFlagsNoWrap); LOGFONT lfFont ; memset(&lfFont, 0, sizeof(lfFont)); lfFont.lfHeight = -15; lstrcpy(lfFont.lfFaceName, _T("宋体")); Font font(dcMem.GetSafeHdc(), &lfFont); CString sName = _T("本界面由动态库中导出。"); CStringW wName = T2W(sName.GetBuffer()); SolidBrush brush((ARGB)Color::Black); graphics.DrawString(wName, wName.GetLength(), &font, RectF(75, 200, 600, 20),&stringFormat, &brush); // 将双缓存DC内容绘制到当前窗口DC pDC->BitBlt(0, 0, rtClient.Width(), rtClient.Height(), &dcMem, 0, 0, SRCCOPY); dcMem.SelectObject(pOldBitmap); return TRUE; }