- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
屏保设计报告
青岛理工大学
C++课程设计报告
院(系): 计算机工程学院
专 业: 计算机科学与技术
学生姓名: 胡松朝_
班 级:_计算073_ 学号: 200707046
题 目: 屏幕保护程序______
起迄日期: _2009.12.21—2009.12.31__
设计地点: 青岛理工大学2#实验楼402
指导教师: 李兰
完成日期: 2009 年 12 月 31 日
一、需求分析
选做此课题或项目的意义:
对于用户来说,选择电脑时,首先提出的指标一定是奔腾、赛扬等一系列与CPU有关的数据,电脑的心脏固然重要,但对于经常与电脑打交道的人来说,电脑的“脸”—显示器,同样是最关心的问题之一如果你每天面对的是一个色彩柔和、清新亮丽的“笑脸”,你在它身边工作一定特别来劲,工作效率也一定会提高。在未启动屏保的情况下当你长时间不使用电脑的时候显示器的屏幕长时间显示不变的画面,这将会使屏幕发光器件疲劳变色/甚至烧毁/最终使屏幕,某个区域偏色或变暗 对于CRT来说在图形界面的操作系统下,显示屏上显示的色彩多种多样,当用户停止对电脑进行操作时,屏幕显示就会始终固定在同一个画面上,即电子束长期轰击荧光层的相同区域,长时间下去,会因为显示屏荧光层的疲劳效应导致屏幕老化,甚至是显像管被击穿。屏幕保护程序一直作为保护CRT显示屏的最佳帮手,通过不断变化的图形显示使荧光层上的固定点不会被长时间轰击,从而避免了屏幕的损坏。
2、系统数据流图如下:
3、关键代码:
BOOL CMyscreenDlg::OnInitDialog()//初始化对话框
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the applications main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
CRect m_rcMain;//设一个矩形对象
GetWindowRect(m_rcMain);//得到窗口并存储
LONG style=GetWindowLong(m_hWnd,GWL_STYLE);//得到窗口状态
style = ~WS_CAPTION; //Creates a window that has a title bar (includes the WS_BORDER style).
SetWindowLong(m_hWnd,GWL_STYLE,style); //设置窗口
s_showW = GetSystemMetrics(SM_CXSCREEN); // 得到屏幕宽度
s_showH = GetSystemMetrics(SM_CYSCREEN); //得到屏幕高度
//show window
for (int i=1; i=SnowCount; i++)//进入循环,随机生成雪点的速度及坐标,共300个
{
Snow[i].speed = rand()%10;
Snow[i].x = rand()%s_showW;
Snow[i].y = rand()%s_showH;
}
SetWindowPos(NULL,-20,0,s_showW+25,s_showH,SWP_NOZORDER);//设置窗口位置及大小,要比屏幕大些,遮盖整个屏幕
::GetCursorPos(w_point);//获得鼠标的位置
ShowCursor(FALSE); //隐藏鼠标
SetTimer(1,1,NULL);//图片流动定时
SetTimer(2,300,NULL);//雪花定时
return TRUE; // return TRUE unless you set the focus to a control
}
void CMyscreenDlg::OnPaint() //画图片和载入音乐
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(W
文档评论(0)