资源描述:
《实验二 基文字应用的程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验二基本文字应用的程序设计一.实验名称:基本文字应用的程序设计二.实验目的:掌握文字及其属性在应用程序中的应用三.实验任务:l掌握字体句柄的获取l掌握创建自定义字体l掌握设置字体的颜色和背景色l掌握文本的输出四.实验要求:编写程序,在某一个窗口上设计一行文字,如“欲穷千里目,更上一层楼”,这一行文字从窗口的左边向右滚动显示,而且每显示一轮,改变一次颜色,改变一次字体,一个周期为4种颜色,分别为红、绿、黄、蓝,四种字体分别为宋体、楷体、仿宋和黑体。五.实验内容:1.字体句柄的获取:Windows系统提供了7种基本字体。常用的默认字体是SYSTEM,Windows需要执行的步骤:(
2、1)定义字体句柄变量:HFONThF;//hF为字体的句柄(2)调用GetStockObject获得系统字体句柄:hF=GetStockObject();(3)调用selsctobject将字体选入设备环境:Selsctobject(hdc,hF);2.设置字体和背景颜色:应用程序通过调用函数SetTextColor设置字体颜色:SetTextColor(hdc,crColor)应用程序通过调用函数SetBKColor设置字体颜色SetBKColor(hdc,crColor)图2-1实验二程序运行结果示例一图2-2实验二程序运行结果示例二六.实现程序的主要源代码:1.实现字体的设
3、置功能的源代码:{caseWM_PAINT:hdc=BeginPaint(hwnd,&ps);hF_song=CreateFont//获得字体句柄(20,//字体高度0,//系统自动调整宽度0,//文本水平0,//字体倾斜度FW_NORMAL,0,//字体不倾斜0,//无下划线0,//无中划线GB2312_CHARSET,OUT_DEFAULT_PRECIS,//默认输出精度CLIP_DEFAULT_PRECIS,//默认裁减精度DEFAULT_QUALITY,//默认输出质量DEFAULT_PITCH
4、FF_DONTCARE,//默认间距"宋体"//字体名称);hF_black
5、=CreateFont//获得字体句柄(20,//字体高度0,//系统自动调整宽度0,//文本水平0,//字体倾斜度FW_HEAVY,0,//字体不倾斜0,//无下划线0,//无中划线GB2312_CHARSET,OUT_DEFAULT_PRECIS,//默认输出精度CLIP_DEFAULT_PRECIS,//默认裁减精度DEFAULT_QUALITY,//默认输出质量DEFAULT_PITCH
6、FF_DONTCARE,//默认间距"楷体"//字体名称);hF_fang=CreateFont//获得字体句柄(20,//字体高度0,//系统自动调整宽度0,//文本水平0,FW_NO
7、RMAL,1,//字体不倾斜0,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,//默认输出精度CLIP_DEFAULT_PRECIS,//默认裁减精度DEFAULT_QUALITY,//默认输出质量DEFAULT_PITCH
8、FF_DONTCARE,"仿宋体"//字体名称);hF_fang=CreateFont//获得字体句柄(20,//字体高度0,//系统自动调整宽度0,//文本水平0,//字体倾斜度FW_NORMAL,1,//字体不倾斜0,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,//默认输出精度CLIP_DEFAULT
9、_PRECIS,//默认裁减精度DEFAULT_QUALITY,//默认输出质量DEFAULT_PITCH
10、FF_DONTCARE,//默认间距"黑体"//字体名称);2.文本的输出以及循环,字体颜色的实现的源代码:while(x>30){SetTextColor(hdc,RGB(255,255,255));//设置字体的颜色TextOut(hdc,x,y,"VC++作业实验二(计算机033宋海涛)",strlen("VC++作业实验二(计算机033宋海涛)"));//文本输出的内容Sleep(500);x=x-30;SetTextColor(hdc,RGB(0,255,0));
11、//设置字体的颜色GetTextMetrics(hdc,&tm);SelectObject(hdc,&hF_black);TextOut(hdc,x,y,"VC++作业实验二(计算机033宋海涛)",strlen("VC++作业实验二(计算机033宋海涛)"));//文本输出的内容}SetTextColor(hdc,RGB(255,255,255));//设置字体的颜色TextOut(hdc,x,y,"VC++作业实验二(计算机033宋海涛)",strlen("VC++作业实验二