工控编程吧
标题:
139上位机VC MFC制作简单的图片屏保程序
[打印本页]
作者:
qq263946146
时间:
2015-12-30 22:41
标题:
139上位机VC MFC制作简单的图片屏保程序
(, 下载次数: 2)
上传
点击文件名下载附件
139上位机VC MFC制作简单的图片屏保程序
功能展示
屏保就是用户长时间没有操作电脑时,电脑为保护屏幕在自动启动的一种程序,屏保的特点是程序全屏显示,然后显示一些效果如滚动图片;我们当前例程简单的实现一幅滚动图片的屏保,效果如图;
要点提示
屏保程序的全屏也就是充斥整个桌面,这种尺寸的大小 我们可以通过 GetSystemMetrics(SM_CXSCREEN)获取宽度 GetSystemMetrics(SM_CYSCREEN)获取高度;
屏保程序运行时不显示鼠标光标,我们也可以在程序运行几秒后用函数ShowCursor(FALSE)隐藏鼠标。当用户移动或点击鼠标时,再用函数ShowCursor(TRUE);显示鼠标光标;
实现功能
1.新建一对话框应用程序;
2.向工程加载一位图用于测试用,拖拽一图片控件,设置类型为位图,位图ID为刚添加图片ID,修改默认ID,再关联变量CStatic m_Picture;
3.添加变量private: int m_nXPos,m_nYPos; 用于设置图片显示的位置;并不OnInitDialog()中初始化
m_nXPos = 0;m_nYPos = 0;
this->MoveWindow(0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN));
SetTimer(1,100,NULL); SetTimer(2,2000,NULL);//两秒后隐藏鼠标光标
4.添加定时器响应函数,实现图片的移动
void CGkbc8Dlg::OnTimer(UINT nIDEvent)
{
if(1 == nIDEvent)
{
CRect rect,rc;
GetWindowRect(rc);
m_Picture.GetClientRect(rect);
if(m_nXPos<rc.Width())
if(m_nYPos<rc.Height())
{
m_Picture.MoveWindow(m_nXPos,m_nYPos,rect.Width(),rect.Height(),true);
m_nXPos += 6;
m_nYPos += 5;
}
else
m_nYPos=0;
else
m_nXPos=0;
}
复制代码
else if(2 == nIDEvent)
{
ShowCursor(FALSE);
KillTimer(2);
}
CDialog::OnTimer(nIDEvent);
}
添加鼠标点击消息,显示被隐藏的鼠标
void CGkbc8Dlg::OnLButtonDown(UINT nFlags, CPoint point)
{
ShowCursor(TRUE);
CDialog::OnLButtonDown(nFlags, point);
}
复制代码
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/2e0851a1236cde55f2fe873c67896ca6/0/0/w_19rtd3yd5l.swf-albumId=5112027509-tvId=5112027509-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4