• 大小: 2.67MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-03
  • 语言: C/C++
  • 标签: Vc++  悬浮窗  

资源简介

vs2010开发的悬浮窗实现方法,里面有四种悬浮窗口示例,并附有效果图,做的美工好些的位图可以实现类似360、迅雷那样的悬浮窗。 博客链接:http://blog.csdn.net/tulingwangbo/article/details/79277715

资源截图

代码片段和文件信息

// MyWnd.cpp : 实现文件
//

#include “stdafx.h“
#include “Control.h“
#include “CursorPng.h“
#include “MFCXXX.h“

// CCursorPng
/////////////////////////////////////////////////////////////////////////////
#define TIMER_MOVEWND 11 
#define TIMERID_TEST  22

IMPLEMENT_DYNAMIC(CCursorPng CWnd)

//HBITMAP  CCursorPng::m_hBkBmp = NULL;


void SYRSetBitmapToDC(
/* [in ] */ HBITMAP hBmp
/* [in ] */ HDC hDC
/* [in ] */ DWORD dwRop
/* [in ] */ const CRect& rcDst)
{
HDC dcMem = CreateCompatibleDC(hDC);

BITMAP bm;
Getobject(hBmp sizeof(bm) &bm);
HBITMAP hOldBit = (HBITMAP)Selectobject(dcMem hBmp);

if(rcDst.Width()==bm.bmWidth && rcDst.Height()==bm.bmHeight)
{
BitBlt(hDC rcDst.left rcDst.top rcDst.Width() rcDst.Height() dcMem 0 0 dwRop); //左上角
}
else
{
StretchBlt(hDC rcDst.left rcDst.top rcDst.Width() rcDst.Height() dcMem 0 0 bm.bmWidth bm.bmHeight dwRop);
}

Selectobject(dcMem hOldBit);
DeleteDC(dcMem);
}


CCursorPng::CCursorPng(CWnd *pTarWnd)
{
if (pTarWnd)
{
m_pParentWnd = pTarWnd;
}else{
m_pParentWnd = CWnd::GetDesktopWindow();
}

m_hBkBmp = NULL;
m_pFont = NULL;
m_strText =_T(““);
m_clText  = 0;
m_clBk   = RGB(255 0 0);
m_Alpha   = 88;

m_hBkBmp = NULL;//背景位图
m_bIsRunning = FALSE;
m_pImgDef = m_pImgFront = m_pImgBk = NULL;
m_nPercent = m_lSpeed = 0;
}

CCursorPng::~CCursorPng()
{

}


BEGIN_MESSAGE_MAP(CCursorPng CWnd)
ON_WM_PAINT()
ON_WM_NCPAINT()
ON_WM_SIZE()
ON_WM_NCCALCSIZE()
ON_WM_LBUTTONUP()
ON_WM_ERASEBKGND()
ON_WM_LBUTTONDOWN()
ON_WM_SETCURSOR()
ON_WM_CONTEXTMENU()

ON_WM_CREATE()
ON_WM_TIMER()

ON_COMMAND(ID_FLOAT_START &CCursorPng::OnFloatStart)
ON_COMMAND(ID_FLOAT_STOP &CCursorPng::OnFloatStop)

END_MESSAGE_MAP()

// CCursorPng 消息处理程序

void CCursorPng::OnPaint()
{
if (m_bIsRunning)
{
DrawProgress();
}
else
{
DrawDefault();
}
}


void CCursorPng::DrawProgress()
{
CPaintDC dc(this); // device context for painting

CRect rectClient;
GetClientRect(&rectClient);
CDC memdc;
CDC memBitmapDC;
memdc.CreateCompatibleDC(&dc);
memBitmapDC.CreateCompatibleDC(&dc);
CBitmap bitmap;
bitmap.CreateCompatibleBitmap(&dcrectClient.Width()rectClient.Height());
memdc.Selectobject(bitmap.m_hobject);

CRect rcInner = rectClient;
//rcInner.DeflateRect(1 1);

//draw bg
if (m_hBkBmp)
{
SYRSetBitmapToDC(m_hBkBmp memdc.m_hDC SRCCOPY rcInner );
}else{
COLORREF clrBg=RGB(99110121);
COLORREF clrTopLeft=RGB(616771);
COLORREF clrRightBottom=RGB(415785);
memdc.FillSolidRect(&rcInnerm_clBk);
}


//画边框,可由OnNcPaint完成;
//memdc.Draw3dRect(rectClientclrTopLeftclrRightBottom);

//  CBrush brush;//(RGB(255 0 0));
//  brush.CreateSolidBrush(RGB(255 0 0)/*(207 240 254)*/);
//  memdc.frameRgn(&m_rgnWnd &brush 1 1);
//  brush.Deleteobject();


if ( m_pImgBk && m_pImgFront) 

//绘制背景图
m_pImgBk->D

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

     文件    8117760  2018-02-07 09:32  FloatWnd\Debug\MFCXXX.exe

     文件      16109  2018-02-05 13:38  FloatWnd\Debug\Skins\circleFront.png

     文件       3014  2018-02-03 16:30  FloatWnd\Debug\Skins\circleGray--.png

     文件      19571  2018-02-05 13:37  FloatWnd\Debug\Skins\circleGray.png

     文件       3942  2018-02-03 16:30  FloatWnd\Debug\Skins\circleRed--.png

     文件      18661  2018-02-05 13:37  FloatWnd\Debug\Skins\circleRed.png

     文件      57301  2018-02-03 10:29  FloatWnd\Debug\Skins\grape.png

     文件      55328  2018-02-03 10:26  FloatWnd\Debug\Skins\strawberry.png

     文件        885  2018-02-02 21:44  FloatWnd\FloatWnd.sln

    ..A..H.     41472  2018-02-07 09:46  FloatWnd\FloatWnd.suo

     文件      20650  2018-02-07 09:26  FloatWnd\MFCXXX\CursorPng.cpp

     文件       1880  2018-02-04 14:55  FloatWnd\MFCXXX\CursorPng.h

     文件      13394  2018-02-02 11:30  FloatWnd\MFCXXX\DlgFloat-2.cpp

     文件       2810  2018-02-01 14:36  FloatWnd\MFCXXX\DlgFloat-2.h

     文件      12050  2018-02-03 17:56  FloatWnd\MFCXXX\DlgFloat.cpp

     文件       2775  2018-01-27 23:51  FloatWnd\MFCXXX\DlgFloat.h

     文件       3033  2016-06-07 14:17  FloatWnd\MFCXXX\MemBitDC.cpp

     文件       1399  2018-02-06 17:48  FloatWnd\MFCXXX\MemBitDC.h

     文件     162228  2018-02-07 09:27  FloatWnd\MFCXXX\MFCXXX.APS

     文件       2535  2018-02-06 18:11  FloatWnd\MFCXXX\MFCXXX.cpp

     文件        471  2018-02-06 18:09  FloatWnd\MFCXXX\MFCXXX.h

     文件      14142  2018-02-07 09:27  FloatWnd\MFCXXX\MFCXXX.rc

     文件       6938  2018-02-07 09:27  FloatWnd\MFCXXX\MFCXXX.vcxproj

     文件       3842  2018-02-07 09:27  FloatWnd\MFCXXX\MFCXXX.vcxproj.filters

     文件        380  2018-02-03 18:20  FloatWnd\MFCXXX\MFCXXX.vcxproj.user

     文件       5341  2018-02-07 09:15  FloatWnd\MFCXXX\MFCXXXDlg.cpp

     文件        935  2018-02-06 18:01  FloatWnd\MFCXXX\MFCXXXDlg.h

     文件       4017  2016-04-19 16:53  FloatWnd\MFCXXX\ReadMe.txt

     文件       6966  2018-01-27 15:06  FloatWnd\MFCXXX\res\backgrou.bmp

     文件       1270  2009-08-31 02:32  FloatWnd\MFCXXX\res\bitmap1.bmp

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

评论

共有 条评论