QQ登录

只需一步,快速开始

389上位机VC MFC实现鼠标点缀特效

[ 复制链接 ]

389上位机VC MFC实现鼠标点缀特效

389上位机VC MFC实现鼠标点缀特效

实现鼠标点缀特效
功能展示
系统指针一般都是单一的白色箭头,如果箭头边上跟随一漂亮昆虫进行点缀,将会很漂亮,我们当前例程就实现这一功能,效果如图,例程一运行就会显示一蝴蝶并实时跟随鼠标箭头的移动,读者可根据前例程<实现桌面爬行昆虫特效>使用GDI+实现更炫酷的效果;

要点提示
动态蝴蝶的实现是通过启动一计时器,顺序循环的加载及显示例程中的8幅位图完成。
蝴蝶跟随鼠标的原理是在定时器中实现获取鼠标的位置,然后通过MoveWindow()或SetWindowPos()函数将窗口移动到鼠标边上;例程使用的是SetWindowPos()函数。

SetWindowPos函数改变一个子窗口,弹出式窗口或顶层窗口的尺寸,位置和Z序。子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序、顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口。
函数原型: BOOL SetWindowPos( const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags );
pWndInsertAfter为窗口的Z序,可以有wndBottom???, wndTop?,? wndTopMost, wndNoTopMost???顾名思义很好理解其含义,可以查阅MSDN手册,X,Y,CX,XY,为窗口新的左上角点及窗口大小。 nFlags 指定改变窗口大小位置的选项,可以有SWP_HIDEWINDOW??, SWP_FRAMECHANGED ,SWP_NOACTIVATE???等等

实现功能
1.新建基于对话框的应用程序
2.将例程根目录下res文件夹内的八幅位图复制到自己工程相应文件夹内,并依次加载到工程中,例程的图片对应ID为IDB_BM1对res\1.bmp,以此类推
3.在主对话框头文件添加变量及函数private: int m_Num;//图标索引
CPoint m_pOint;//窗口旧位置点 void FollowMouse(); 并初始化
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BM1);
BITMAP BM;
bitmap.GetBitmap(&BM);
MoveWindow(0,0,BM.bmWidth,BM.bmHeight);//设置窗口大小
m_Num = 0;
SetTimer(1,100,NULL);

4.添加定义器处理函数及背景重绘消息WM_CTLCOLOR函数
void CGkbc8Dlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent == 1)
FollowMouse();
CDialog::OnTimer(nIDEvent);
}

HBRUSH CGkbc8Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

CBitmap BKGround;
BKGround.LoadBitmap(IDB_BM1+m_Num); //加载图片资源
if (nCtlColor==CTLCOLOR_DLG)
{
CBrush Brush(&BKGround); //定义一个位图画刷
CRect rect;
GetClientRect(rect); //获得客户区域
pDC->SelectObject(&Brush); //选中画刷
pDC->FillRect(rect,&Brush); //填充客户区域
return Brush;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
我们来演示下功能实现的整个过程

请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:389.上位机VC MFC实现鼠标点缀特效.zip 
文件大小:179.02 KB  售价:11金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!




回复

使用道具 举报

快速回复 返回列表 客服中心 搜索