www.gusucode.com > 仿360最新界面的源码程序 > 仿360最新界面的源码程序/仿360新版特性窗口源码/部分源码/子页面示例代码/QChildPage/Functions.cpp
/************************************************************************ 模快名: 仿360安全卫士界面 功能: 尚未对模块功能进行描述 完成日期: 2010-10-20 作者: 杨伟峰 Yang Weifeng(Email: 11259500@qq.com) 本代码可以自由使用,但因使用本代码造成的后果,本人不承担任何责任 ************************************************************************/ #include "StdAfx.h" #include "Functions.h" BOOL CFunctions::GetTransBack( HWND hWnd, HDC& hBackDC, CRect& rtBack) { hBackDC = NULL; HWND hParentWnd = hWnd; do { hBackDC = (HDC)::GetProp(hParentWnd, _T("BackDC")); if( hBackDC != NULL ) break; hParentWnd = ::GetParent(hParentWnd); } while (hParentWnd != NULL); if(hBackDC != NULL) { CRect rtWindow; CWnd::FromHandle(hWnd)->GetWindowRect(rtBack); CWnd::FromHandle(hParentWnd)->GetWindowRect(rtWindow); rtBack.OffsetRect( -rtWindow.left,-rtWindow.top ); return TRUE; } return FALSE; } BOOL CFunctions::DrawTransBack(HWND hWnd, HDC hDC) { HDC hBackDC = NULL; CRect rtBack = NULL; if(GetTransBack(hWnd, hBackDC, rtBack)) { CRect rtPaint; GetClipBox(hDC, &rtPaint); BitBlt(hDC, rtPaint.left, rtPaint.top, rtPaint.Width(), rtPaint.Height(), hBackDC, rtBack.left+rtPaint.left, rtBack.top+rtPaint.top, SRCCOPY); return TRUE; } return FALSE; } BOOL CFunctions::SetTransBack( HWND hWnd, HDC hDC ) { return SetProp(hWnd, _T("BackDC"), HANDLE(hDC)); }