Windows实验报告材料第一次实验

合集下载

Windows实验报告第一次实验

Windows实验报告第一次实验

Windows实验报告(计算机科学与技术学院计112 1113022032 康照玲)一、实验一1、题目:在窗口上显示一个正方形内切圆,单击左键或者停顿5秒后显示正方形外接圆,在此之间交替显示。

2、关键代码分析本次试验我是主要是实现定时5秒的转换,首先在创建窗口时设置定时器,在窗口函数中响应其信息,然后对设置的标志进行赋值,一次实现其定时功能。

关键代码如下:HDC hDC; //定义设备环境句柄.int x,y,z ; // 标志窗口处的坐标点PAINTSTRUCT ps; //定义绘图结构体变量.static BOOL flag=TRUE; //标志定时功能HBRUSH hBrush;// SetTimer(hWnd,1,2000,NULL);switch(iMessage){case WM_CREATE:return 0;case WM_TIMER:flag=!flag;InvalidateRect(hWnd,NULL,TRUE);return 0;case WM_PAINT:hDC = BeginPaint(hWnd,&ps);GetClientRect(hWnd,&Rect1); //获得用户区的尺寸x=(Rect1.left+Rect1.right)/2;y=(Rect1.top+Rect1.bottom)/2 ; 计算屏幕中心的坐标,即图形的中心z=min(x,y)-100;if(flag==TRUE){Rectangle(hDC,x-z,y-z,x+z,y+z);hBrush=CreateHatchBrush(HS_BDIAGONAL,RGB(0,255,255));SelectObject(hDC,hBrush);Ellipse(hDC,x-z,y-z,x+z,y+z);Sleep(1000);InvalidateRect(hWnd,NULL,1); //刷新用户区.DeleteObject(hBrush);}else{Ellipse(hDC,x-z,y-z,x+z,y+z);hBrush=CreateHatchBrush(HS_BDIAGONAL,RGB(0,255,255));SelectObject(hDC,hBrush);Rectangle(hDC,x-(sqrt(2))/2*z,y-(sqrt(2))/2*z,x+(sqrt(2))/2*z,y+(sqrt(2))/2*z);InvalidateRect(hWnd,NULL,1);Sleep(1000);DeleteObject(hBrush); //刷新用户区.}flag=!flag;EndPaint(hWnd,&ps);break;二、实验二1、题目:请编写程序,要求如下:(1)、定义一只红色的画笔,绘制一个等边五边形。

windows的实验报告(完整版)

windows的实验报告(完整版)

windows的实验报告(完整版)实验标题:Windows的实验报告一、实验目的本实验旨在深入了解Windows操作系统的基本原理和功能,并掌握Windows操作系统的安装、配置和使用方法。

二、实验内容1. Windows操作系统的安装通过制作启动盘或使用光盘安装,选择适当的版本和安装选项进行Windows操作系统的安装。

2. Windows操作系统的配置进行系统设置,包括语言和区域设定、时区设定、键盘和鼠标设置等。

3. Windows操作系统的使用掌握Windows操作系统的基本操作,包括桌面管理、文件和文件夹管理、应用程序的安装和卸载、系统设置等。

4. Windows操作系统的网络配置了解并设置Windows操作系统的网络连接,包括有线网络和无线网络的配置。

三、实验步骤1. Windows操作系统的安装按照安装引导界面的指示,选择合适的选项完成安装过程。

注意选择适配的驱动程序并进行相应设置。

2. Windows操作系统的配置在系统设置中,选择适当的语言和区域,设定正确的时区。

根据个人需求,进行键盘和鼠标相关设置。

3. Windows操作系统的使用3.1 桌面管理:了解和使用桌面的基本布局,包括桌面图标的添加、删除、移动等操作。

3.2 文件和文件夹管理:学习使用资源管理器对文件和文件夹进行管理,包括创建、复制、粘贴、删除等操作。

3.3 应用程序的安装和卸载:了解如何通过Windows商店或第三方应用程序进行安装,并学会使用控制面板进行软件的卸载。

3.4 系统设置:掌握系统设置的方法,包括背景壁纸的更换、屏幕分辨率的调整、电源管理等。

4. Windows操作系统的网络配置4.1 有线网络的配置:了解如何通过网线连接计算机和局域网以及设置IP地址、子网掩码等网络参数。

4.2 无线网络的配置:学习如何连接无线网络并进行密码设置,了解无线网络的高级配置选项。

四、实验结果经过以上实验步骤的操作,成功完成了Windows操作系统的安装、配置和使用。

操作系统安全实验1实验报告

操作系统安全实验1实验报告

操作系统安全实验1实验报告一、实验目的本次操作系统安全实验的主要目的是让我们深入了解操作系统的安全机制,通过实际操作和观察,掌握一些常见的操作系统安全配置和防护方法,提高对操作系统安全的认识和应对能力。

二、实验环境本次实验使用的操作系统为Windows 10 和Linux(Ubuntu 2004),实验设备为个人计算机。

三、实验内容与步骤(一)Windows 10 操作系统安全配置1、账户管理创建新用户账户,并设置不同的权限级别,如管理员、标准用户等。

更改账户密码策略,包括密码长度、复杂性要求、密码有效期等。

启用账户锁定策略,设置锁定阈值和锁定时间,以防止暴力破解密码。

2、防火墙配置打开 Windows 防火墙,并设置入站和出站规则。

允许或阻止特定的应用程序通过防火墙进行网络通信。

3、系统更新与补丁管理检查系统更新,安装最新的 Windows 安全补丁和功能更新。

配置自动更新选项,确保系统能够及时获取并安装更新。

4、恶意软件防护安装并启用 Windows Defender 防病毒软件。

进行全盘扫描,检测和清除可能存在的恶意软件。

(二)Linux(Ubuntu 2004)操作系统安全配置1、用户和组管理创建新用户和组,并设置相应的权限和归属。

修改用户密码策略,如密码强度要求等。

2、文件系统权限管理了解文件和目录的权限设置,如读、写、执行权限。

设置特定文件和目录的权限,限制普通用户的访问。

3、 SSH 服务安全配置安装和配置 SSH 服务。

更改 SSH 服务的默认端口号,增强安全性。

禁止 root 用户通过 SSH 登录。

4、防火墙配置(UFW)启用 UFW 防火墙。

添加允许或拒绝的规则,控制网络访问。

四、实验结果与分析(一)Windows 10 操作系统1、账户管理成功创建了具有不同权限的用户账户,并能够根据需求灵活调整权限设置。

严格的密码策略有效地增加了密码的安全性,减少了被破解的风险。

账户锁定策略在一定程度上能够阻止暴力破解攻击。

实验一windows安全配置实验

实验一windows安全配置实验

实验一: windows安全配置实验【实验目的】掌握windows的安全设置,加固操作系统安全【实验内容】1、账户与密码的安全设置2、关闭远程注册表服务3、设置登录系统时不显示上次登录的用户名4、设置注册表防止系统隐私信息被泄露5、审核与日志查看6、了解任务管理器【实验环境】1、硬件PC机一台。

2、系统配置:操作系统windows XP专业版。

【实验步骤】任务一、账户和密码的安全设置1、删除不再使用的账户,禁用 guest 账户⑴ 检查和删除不必要的账户右键单击“开始”按钮,打开“资源管理器”,选择“控制面板”中的“用户和密码”项;在弹出的对话框中中列出了系统的所有账户。

确认各账户是否仍在使用,删除其中不用的账户。

⑵ 禁用 guest 账户打开“控制面板”中的“管理工具”,选中“计算机管理”中“本地用户和组”,打开“用户”,右键单击 guest 账户,在弹出的对话框中选择“属性”,在弹出的对话框中“帐户已停用”一栏前打勾。

确定后,观察 guest 前的图标变化,并再次试用 guest 用户登陆,记录显示的信息。

2、启用账户策略⑴ 设置密码策略打开“控制面板”中的“管理工具”,在“本地安全策略”中选择“账户策略”;双击“密码策略”,在右窗口中,双击其中每一项,可按照需要改变密码特性的设置。

根据选择的安全策略,尝试对用户的密码进行修改以验证策略是否设置成功,记录下密码策略和观察到的实验结果。

⑵ 设置账户锁定策略打开“控制面板”中的“管理工具”,在“本地安全策略”中选择“账户策略”。

双击“帐户锁定策略”。

在右窗口中双击“账户锁定阀值”,在弹出的对话框中设置账户被锁定之前经过的无效登陆次数(如 3 次),以便防范攻击者利用管理员身份登陆后无限次的猜测账户的密码。

在右窗口中双击“账户锁定时间”,在弹出的对话框中设置账户被锁定的时间(如 20 min )。

重启计算机,进行无效的登陆(如密码错误),当次数超过 3 次时,记录系统锁定该账户的时间,并与先前对“账户锁定时间”项的设置进行对比。

大一计算机windows实验报告

大一计算机windows实验报告

标题:大一计算机Windows实验报告引言:本实验旨在帮助大一计算机专业的学生熟悉Windows操作系统的基本功能和操作方法,为日后的学习和工作打下坚实的基础。

通过实际操作,我们能够更好地理解Windows操作系统的特点和优势,并学会使用各种常见的应用程序。

实验环境:本实验使用的硬件为一台配置较高的计算机,操作系统为Windows 10,并且安装了Microsoft Office套件以及其他必要的工具软件。

实验步骤:1.首先,我们启动计算机并登录到Windows操作系统。

2.接下来,我们熟悉桌面界面和任务栏的布局,了解如何打开和关闭应用程序。

3.我们学会使用Windows资源管理器,浏览计算机文件和文件夹的层次结构,并掌握复制、剪切和粘贴文件的方法。

4.然后,我们深入学习Windows操作系统的设置选项,包括个性化设置、网络连接设置和安全设置等。

5.我们尝试使用Windows自带的文本编辑器编写简单的文档,并保存到指定位置。

6.进一步,我们学习如何使用Microsoft Office中的Word处理程序创建和格式化文档。

7.在Microsoft Excel中,我们探索如何创建表格、进行基本的数据处理和生成图表。

8.最后,我们使用Windows自带的邮件应用程序设置邮箱,并发送和接收电子邮件。

实验结果:通过本次实验,我成功地掌握了Windows操作系统的基本功能和操作方法。

我熟悉了桌面界面、任务栏布局,学会了打开和关闭应用程序。

我能够轻松浏览计算机文件和文件夹,并使用复制、剪切和粘贴功能进行文件操作。

此外,我还学会了个性化设置、网络连接设置和安全设置等重要选项。

在Microsoft Office套件中,我能够熟练地使用Word处理程序编写和格式化文档,以及在Excel 中创建表格、进行数据处理和生成图表。

最后,我成功地设置了邮箱,并能够发送和接收电子邮件。

分析与讨论:在实验过程中,我遇到了一些小问题,例如文件操作时出现了拷贝错误和命名错误。

Windows操作系统实验一实验报告

Windows操作系统实验一实验报告

Windows操作系统C/C++ 程序实验
姓名:___庞一鹤_______________
学号:___1131000180____________
班级:___信工七班________________
院系:____信息工程_______________ ______2015___年___10__月__12___日
实验一Windows 2000/xp进程观测
一、背景知识
二、实验目的
通过对Windows 2000/xp编程,进一步熟悉操作系统的基本概念,较好地理解Windows 2000/xp的结构。

三、实验内容与步骤
1、C:\> CL Hello.cpp
来创建可执行的Hello.EXE。

操作能否正常进行?如果不行,则可能的原因是什么?
操作正常运行
步骤4:运行Hello.EXE程序,产生用户键入的一行文字。

运行结果(如果运行不成功,则可能的原因是什么?) :
也可以利用任何其他文本编辑器键入程序代码,如果这样,例如使用WORD来键入和编辑程序,则应该注意什么问题?
可以,但文件保存的时候要以后缀“.cpp”命名。

C:\> CL 1-2.cpp
运行结果(试将其中的信息与清单1-1程序的运行结果进行比较) :
比较:1-2程序创建了一个图形用户化界面来显示输出内容。

2、C:\> CL 1-3.cpp
运行结果:
在“命令提示符”窗口运行CL.EXE,产生1-4.EXE文件:C:\> CL 1-4.cpp
运行结果:。

第一次实验报告windows要求

根据每一组的分工任务来填写
分工任务:*********************?
实验内容:请根据分工任务填写本团队讨论的成果和内容。认真做好记录!
总结
背面:(每组除了完成每一组的任务之外,都同时思考操作下面3个问题)
1、怎么添加或删除一种输入语言?如将“搜狗五笔”删除掉,想添加另一种输入语言?
2、U盘或移动磁盘中的文件删除后可以回到回收站吗?为什么?
3、请使用“计算器”功能,计算下列进制数据的转换?并将结果记录在括号里?
101101B=()O 936D=()B
647O=()进制,D代表十进制,H代表十六进制
班级
姓名
学号
课程名称
计算机应用基础二
同组人
实验名称
Windows的操作
指导老师
实验日期
/学年第学期第周第大节年月日
实验目的
1.掌握windows操作系统下对文件(夹)的基本操作;
2.掌握windows的磁盘管理。
3.掌握控制面板中常用设置;
实验器材及软件:
计算机、windows 7操作系统
实验主要内容

实验报告1 (2)

Windows 实验报告机器号:56姓名杨洪云学号201121020149 班级2011资源环境与城乡规划管理班实验题目:Windows回收站的使用和设置理论课教师张培军上机指导教师张培军实验目的:1.掌握Windows的基本操作。

2.掌握Windows的程序管理。

实验的操作步骤:1.删除桌面上建立的“资源管理器”快捷方式和“系统”快捷方式。

(按Del键或选择器快捷方式。

)2.恢复已删除的“资源管理器”快捷方式。

(先打开“回收站”,然后选定要恢复的对象,最后选择“文件|还原”命令。

)3.永久删除桌面上的“Myfile.txt”文件对象,使之不可恢复。

(删除文件时按住Shift键将永久删除文件。

)4.设置各个驱动器的回车站容量:C盘回车站的最大空间为C盘容量的10%,其余硬盘上的回车站空间为C盘容量的5%。

(通过“回车站属性”窗口设置。

)实验中发现的问题及解决方法:问题:操作生疏,费时长解决方法:勤加练习,掌握每个环节批阅人成绩Word 实验报告机器号:56姓名杨洪云学号201121020149 班级2011资源环境与城乡规划管理班实验题目:Word字符的格式化理论课教师张培军上机指导教师张培军实验目的:掌握字符的格式化方法实验的操作步骤:1.字体设置,通过“格式|字体”对选定的文字直接进行宋体、楷体、黑体设置。

2.字号设置,通过“格式|字体”对选定的文字进行所需字体大小的设置。

3.字型设置,通过“格式|字体”对选定的文字进行倾斜设置。

4.字符间距设置,通过“格式|字体”在点击字符设置,进行所需的设置。

5.特定效果的设置,通过“格式”工具栏进行相应效果的操作。

实验中发现的问题及解决方法:无批阅人成绩姓名杨洪云学号201121020149 班级2011资源环境与城乡规划管理班实验题目:工作表的格式化理论课教师张培军上机指导教师张培军实验目的:掌握Excel工作表的格式化方法实验的操作步骤:1.设置“对齐”格式,利用“单元格格式”对话框的“对齐”选项卡自己设置所需单元格的对齐格式。

实验windows系统的操作实验报告

实验windows系统的操作实验报告
《实验报告:Windows系统操作实验》
实验目的:通过实际操作,掌握Windows系统的基本操作方法,提高对Windows系统的熟练度。

实验内容:
1. Windows系统的基本操作
- 开机与关机:按下电源按钮开机,点击“开始”菜单选择“关机”进行关机。

- 桌面操作:通过鼠标点击桌面图标进行程序的打开和关闭。

- 文件操作:在资源管理器中创建、复制、粘贴、删除文件和文件夹。

2. Windows系统的高级操作
- 系统设置:调整屏幕分辨率、更改桌面背景、设置系统语言等。

- 程序安装与卸载:通过控制面板安装和卸载程序。

实验步骤:
1. 打开计算机,进入Windows系统桌面。

2. 点击“开始”菜单,打开“资源管理器”,进行文件操作练习。

3. 调整屏幕分辨率和更改桌面背景,熟悉系统设置操作。

4. 在控制面板中安装一个新的程序,并进行卸载操作。

实验结果与分析:
通过本次实验,我对Windows系统的基本操作和高级操作有了更深入的了解。

在实际操作中,我成功地进行了文件操作、系统设置和程序安装与卸载,提高了对Windows系统的熟练度。

结论:
本次实验使我更加熟悉了Windows系统的操作方法,提高了我的计算机应用能力。

在今后的学习和工作中,我将能够更加灵活地运用Windows系统,提高工作效率。

通过这次实验,我对Windows系统有了更深入的了解,提高了我的实际操作能力。

希望今后能够更加熟练地运用Windows系统,为工作和学习提供更多便利。

windows的实验报告(完整版)

windows的实验报告(完整版)中南民族⼤学计算机科学学院实验报告课程 Windows程序设计年级专业学⽣学号指导⽼师实验⼀实验标题:按钮控件使⽤⽅法⼀、实验⽬的:学会使⽤按钮控件的使⽤⽅法。

⼆、实验内容及步骤:1.新建项⽬,设置对话框如下所⽰:2.双击头⽂件“ankjDlg.h”,在类构造函数class CankjDlg : public CDialog中定义public:CButton game1,game2,game3,game4,game5,game6;CButton addr1,addr2,addr3,addr4;3.双击⽂件“ankjDlg.cpp”,在void CankjDlg::DoDataExchange(CDataExchange* pDX)中添加ID与变量之间的映射。

DDX_Control(pDX, IDC_RADIO1, addr1);DDX_Control(pDX, IDC_RADIO2, addr2);DDX_Control(pDX, IDC_RADIO3, addr3);DDX_Control(pDX, IDC_RADIO4, addr4);DDX_Control(pDX, IDC_CHECK1, game1);DDX_Control(pDX, IDC_CHECK2, game2);DDX_Control(pDX, IDC_CHECK3, game3);DDX_Control(pDX, IDC_CHECK4, game4);DDX_Control(pDX, IDC_CHECK5, game5);DDX_Control(pDX, IDC_CHECK6, game6);4.在⽂件“ankjDlg.cpp”的BOOL CankjDlg::OnInitDialog()中的“// TODO: 在此添加额外的初始化代码”后⾯添加初始化代码:this->addr1.SetCheck ( BST_CHECKED ) ;this->game1.SetCheck ( BST_CHECKED ) ;this->game2.SetCheck ( BST_CHECKED ) ;this->game3.SetCheck ( BST_CHECKED ) ;this->game4.SetCheck ( BST_CHECKED ) ;this->game5.SetCheck ( BST_CHECKED ) ;this->game6.SetCheck ( BST_CHECKED ) ;5. 双击“确定”按钮,添加代码:CString szMsg ;szMsg += L"您的所在地:" ;if ( this->addr1.GetCheck () == BST_CHECKED )szMsg += L"北京\n" ;else if ( this->addr2.GetCheck () == BST_CHECKED ) szMsg += L"上海\n" ;else if ( this->addr3.GetCheck () == BST_CHECKED ) szMsg += L"厦门\n" ;else if ( this->addr4.GetCheck () == BST_CHECKED ) szMsg += L"杭州\n" ;szMsg += L"您的兴趣爱好:" ;if ( this->game1.GetCheck() == BST_CHECKED )szMsg += L"体育运动" ;if ( this->game2.GetCheck() == BST_CHECKED )szMsg += L"影视娱乐" ;if ( this->game3.GetCheck() == BST_CHECKED )szMsg += L"⿊客技术" ;if ( this->game4.GetCheck() == BST_CHECKED )szMsg += L"旅游观光" ;if ( this->game5.GetCheck() == BST_CHECKED )szMsg += L"休闲棋牌" ;if ( this->game6.GetCheck() == BST_CHECKED )szMsg += L"⽹络游戏" ;this->MessageBox ( szMsg, L"您的选择" ) ;三、调试及结果:①调试的初始界⾯:②选择后的输出:实验⼼得:实验⼆实验标题:组合框⼀、实验⽬的:了解组合框的概念,并掌握组合框的概念。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Windows实验报告(计算机科学与技术学院计112 1113022032 康照玲)一、实验一1、题目:在窗口上显示一个正方形切圆,单击左键或者停顿5秒后显示正方形外接圆,在此之间交替显示。

2、关键代码分析本次试验我是主要是实现定时5秒的转换,首先在创建窗口时设置定时器,在窗口函数中响应其信息,然后对设置的标志进行赋值,一次实现其定时功能。

关键代码如下:HDC hDC; //定义设备环境句柄.int x,y,z ; // 标志窗口处的坐标点PAINTSTRUCT ps; //定义绘图结构体变量.static BOOL flag=TRUE; //标志定时功能HBRUSH hBrush;// SetTimer(hWnd,1,2000,NULL);switch(iMessage){case WM_CREATE:return 0;case WM_TIMER:flag=!flag;InvalidateRect(hWnd,NULL,TRUE);return 0;case WM_PAINT:hDC = BeginPaint(hWnd,&ps);GetClientRect(hWnd,&Rect1); //获得用户区的尺寸x=(Rect1.left+Rect1.right)/2;y=(Rect1.top+Rect1.bottom)/2 ; 计算屏幕中心的坐标,即图形的中心z=min(x,y)-100;if(flag==TRUE){Rectangle(hDC,x-z,y-z,x+z,y+z);hBrush=CreateHatchBrush(HS_BDIAGONAL,RGB(0,255,255));SelectObject(hDC,hBrush);Ellipse(hDC,x-z,y-z,x+z,y+z);Sleep(1000);InvalidateRect(hWnd,NULL,1); //刷新用户区.DeleteObject(hBrush);}else{Ellipse(hDC,x-z,y-z,x+z,y+z);hBrush=CreateHatchBrush(HS_BDIAGONAL,RGB(0,255,255));SelectObject(hDC,hBrush);Rectangle(hDC,x-(sqrt(2))/2*z,y-(sqrt(2))/2*z,x+(sqrt(2))/2*z,y+(sqrt(2))/2*z);InvalidateRect(hWnd,NULL,1);Sleep(1000);DeleteObject(hBrush); //刷新用户区.}flag=!flag;EndPaint(hWnd,&ps);break;二、实验二1、题目:请编写程序,要求如下:(1)、定义一只红色的画笔,绘制一个等边五边形。

(2)、用不同颜色的线条连接互不相邻的两个点(3)、用不同颜色的画刷填充用上述方法所形成的图形中的每一个区域2、关键代码分析HDC hDC; //定义设备环境句柄.HBRUSH hBrush; //定义画刷句柄HPEN hPen; //定义画笔句柄PAINTSTRUCT PtStr; //定义包含绘图信息的结构体变量double dfRadious0=100.0,dfRadious1; //定义外部和部正五边形外接圆半径.POINT lpOuterPoints[5],lpInnerPoints[5];//定义外,正五边形点结构数组.POINT lpTriangle[3]; //定义三角形点结构数组.dfRadious1=dfRadious0*sin(0.1*Pi)/sin(126.0/180*Pi);//根据外圆半径计算园半径.//计算外正五边形的点坐标.for(int i=0;i<5;i++){lpOuterPoints[i].x=(long)(dfRadious0*cos(i*72.0/180*Pi));lpOuterPoints[i].y=(long)(dfRadious0*sin(i*72.0/180*Pi));lpInnerPoints[i].x=(long)(dfRadious1*cos(i*72.0/180*Pi+36.0/180*Pi));lpInnerPoints[i].y=(long)(dfRadious1*sin(i*72.0/180*Pi+36.0/180*Pi));}switch(iMessage){case WM_PAINT: //处理绘图消息.hDC=BeginPaint(hWnd,&PtStr); //得到设备环境句柄SetMapMode(hDC,MM_ANISOTROPIC); //设置映射模式.SetWindowOrgEx(hDC,-100,-100,NULL); //设置坐标原点.hPen=CreatePen(PS_SOLID,1,RGB(255,0,0)); //创新红色画笔.SelectObject(hDC,hPen); //将画笔选入.Polygon(hDC,lpOuterPoints,5); //画正五边形.//填充正五边形的不同区域.for(int i=0;i<5;i++){lpTriangle[0]=lpOuterPoints[i%5]; //生成图形中的三角形区域的坐标.lpTriangle[1]=lpInnerPoints[i%5];lpTriangle[2]=lpOuterPoints[(i+1)%5];//创新新画刷.hBrush=CreateSolidBrush(RGB(i*10,i*20,i*30));SelectObject(hDC,hBrush); //选入新画刷.Polygon(hDC,lpTriangle,3); //画三角形区域.lpTriangle[2]=lpInnerPoints[(i+4)%5]; //生成图形中的三角形区域的坐标.hBrush=CreateSolidBrush(RGB(i*1000,i*20,i*10));//创新画刷.SelectObject(hDC,hBrush); //选入画刷.Polygon(hDC,lpTriangle,3); //画三角形区域.}hBrush=CreateSolidBrush(RGB(255,0,255));//创新白画刷.SelectObject(hDC,hBrush); //选入画刷.Polygon(hDC,lpInnerPoints,5); //画中心的五边形.//用不同种颜色的画笔来绘制五角星.MoveToEx(hDC,lpOuterPoints[0].x,lpOuterPoints[0].y,NULL);for(int i=1;i<=5;i++){hPen=CreatePen(PS_SOLID,1,RGB(0,i*51,0));SelectObject(hDC,hPen);LineTo(hDC,lpOuterPoints[(i+2)%5].x,lpOuterPoints[(i+2)%5].y);}hPen=(HPEN)(GetStockObject(PS_NULL));DeleteObject(hPen); //删除画笔.DeleteObject(hBrush); //删除画刷.EndPaint(hWnd,&PtStr); //结束绘图.return 0;case WM_DESTROY: //处理关闭窗口信息.PostQuitMessage(0); //向应用程序发送WM_QUIT消息.return 0;default:return(DefWindowProc(hWnd,iMessage,wParam,lParam));}三、实验三1、题目:设计一个窗口,在窗口中有五行文字,字体分别为楷体、宋体、仿宋体、黑体、幼圆,字号由8到40线性增长,每行的文字相继出现后不消失,而且每一行文字的颜色有RGB(0,0,0)到RGB(255,255,255)线性增长。

点击左键后在工作区中每行文字由40到8线性减小,颜色有RGB(255,255,255)到RGB(0,0,0)线性减小。

2、关键代码分析int a=0;HDC hDC; //定义设备环境句柄.HFONT hF; //定义字体句柄.PAINTSTRUCT ps; //定义包含绘图信息的结构体变量TEXTMETRIC tm; //定义包含字体信息的结构体变量.static char lpsz_1[]="无边落木萧萧下,不尽长江滚滚来。

"; //定义输出的字符串.char chFont[20]; //定义字体种类的字符串.int X=0,Y=0,i;static int nCharlen=strlen(lpsz_1); //定义字符串长度变量.switch(iMessage){case WM_PAINT: //处理绘图消息.hDC=BeginPaint(hWnd,&ps); //获得设备环境指针.for(i=0;i<nCharlen;i+=2) //采用某种字体和颜色输出字符串.{SetTextColor(hDC,RGB((long)(255.0/nCharlen*i),//设置字体颜色.0,0));if(iFontSign%5==0) strcpy(chFont,"楷体_GB2312"); //设置包含字体信息的字符串.else if(iFontSign%5==1) strcpy(chFont,"宋体"); //iFont%表示以5为周期循环改变字体.else if(iFontSign%5==2) strcpy(chFont,"仿宋体");else if(iFontSign%5==3) strcpy(chFont,"黑体");else strcpy(chFont,"幼圆");hF=CreateFont( //定义字体句柄.(long)(8+32.0*i/nCharlen), //字体高度.0, //由系统根据高宽比选取字体最佳宽度值.0, //文本倾斜度为0,表示水平.0, //字体倾斜度为0.400, //字体粗度.400为正常.0, //非斜体字,0, //无下划线.0, //无删除线.GB2312_CHARSET, //表示所用的字符集为GB2312_CHARSETOUT_DEFAULT_PRECIS, //删除精度为缺省值.CLIP_DEFAULT_PRECIS, //裁剪精度为缺省值.DEFAULT_QUALITY, //输出质量为缺省值.DEFAULT_PITCH|FF_DONTCARE, //字间距和字体系列使用缺省值.chFont); //字体名称.SelectObject(hDC,hF); //选入字体.GetTextMetrics(hDC,&tm); //得到包含字体信息的结构体.X=X+tm.tmAveCharWidth*2; //设置输出字符的X坐标.Y=iFontSign%5*40+tm.tmExternalLeading; //设置输出字符的Y坐标.TextOut(hDC,X,Y,&lpsz_1[i],2); //输出第i个字符.产生滚动的效果.Sleep(200); //暂停0.4秒.DeleteObject(hF); //删除字体句柄.}iFontSign++; //字体标志增加InvalidateRect(hWnd,NULL,0);//刷新用户区.EndPaint(hWnd,&ps); //删除设备用户指针.return 0;break;case WM_LBUTTONDOWN:InvalidateRect(hWnd,NULL,1);//刷新用户区.iFontSign=0;for(;a<5;a++){X=0;Y=0;hDC=BeginPaint(hWnd,&ps);//获得设备环境指针.for(i=0;i<nCharlen;i+=2) //采用某种字体和颜色输出字符串.{SetTextColor(hDC,RGB((long)(255-255.0/nCharlen*i), //设置字体颜色.0,0));if(iFontSign%5==0) strcpy(chFont,"楷体_GB2312"); //设置包含字体信息的字符串.else if(iFontSign%5==1) strcpy(chFont,"宋体"); //iFont%表示以5为周期循环改变字体.else if(iFontSign%5==2) strcpy(chFont,"仿宋体");else if(iFontSign%5==3) strcpy(chFont,"黑体");else strcpy(chFont,"幼圆");hF=CreateFont( //定义字体句柄.(long)(40-32.0*i/nCharlen), //字体高度.0, //由系统根据高宽比选取字体最佳宽度值.0, //文本倾斜度为0,表示水平.0, //字体倾斜度为0.400, //字体粗度.400为正常.0, //非斜体字,0, //无下划线.0, //无删除线.GB2312_CHARSET, //表示所用的字符集为GB2312_CHARSETOUT_DEFAULT_PRECIS, //删除精度为缺省值.CLIP_DEFAULT_PRECIS, //裁剪精度为缺省值.DEFAULT_QUALITY, //输出质量为缺省值.DEFAULT_PITCH|FF_DONTCARE, //字间距和字体系列使用缺省值.chFont); //字体名称.SelectObject(hDC,hF); //选入字体.GetTextMetrics(hDC,&tm); //得到包含字体信息的结构体.X=X+tm.tmAveCharWidth*2; //设置输出字符的X坐标.Y=iFontSign%5*40+tm.tmExternalLeading; //设置输出字符的Y坐标.TextOut(hDC,X,Y,&lpsz_1[i],2); //输出第i个字符.产生滚动的效果.Sleep(200); //暂停0.4秒.DeleteObject(hF); //删除字体句柄.}iFontSign++; //字体标志增加InvalidateRect(hWnd,NULL,0);//刷新用户区.EndPaint(hWnd,&ps); //删除设备用户指针.}InvalidateRect(hWnd,NULL,1);//刷新用户区.return 0;break;case WM_DESTROY:PostQuitMessage(0);return 0;default:return(DefWindowProc(hWnd,iMessage,wParam,lParam));}四、实验四1、题目:设计一个鼠标程序,在按Ctrl键的同时单击鼠标左键,在窗口中拖动鼠标,可画出一个圆;在按Shift键的同时单击鼠标左键,在窗口中拖动鼠标,画出一个矩形;当按下Shift+Ctrl的同时拖动鼠标画出1个正方形中切圆。

相关文档
最新文档