嵌入式操作系统介绍和WINCE开发平台(7)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

曲靖师范学院物电学院电子设计创新实验室WINCE程序开发教学第七讲主讲:夏文智本节内容文本输出函数输出设置函数自定义字体位图对象的创建位图对象的显示文本的输出函数intDrawText(HDChDC,//handletoDC(表示设备环境)LPCTSTRlpString,//texttodraw(被输出的字符串指针)intnCount,//textlength(字符串中的字符数)LPRECTlpRect,//formattingdimensions(文本显示矩形区域)UINTuFormat//text-drawingoptions(文本的显示方法));文本输出设置1、设置文本的背景颜色COLORREFSetBkColor(HDChdc,//handletoDCCOLORREFcrColor//backgroundcolorvalue);2、设置文本的颜色COLORREFSetTextColor(HDChdc,//handletoDCCOLORREFcrColor//textcolor);3、文本的对齐方式UINTSetTextAlign(HDChdc,//handletoDCUINTfMode//text-alignmentoption);4、SetBkMode(hdc,FALSE);//设置字体颜色不起作用注意:以上函数都要在绘制文本之前使用,否则无效。WINCE的字体1、系统默认的字体有两种:光栅型(raster)和TrueType型。2、自定义字体类型HFONTCreateFontIndirect(constLOGFONT*lplf);创建字体选入设备环境使用字体删除字体操作位图的基本步骤创建位图句柄加载位图对象创建内存设备描述对象,将位图选入内存设备描述对象使用位图函数进行图形绘制删除位图句柄创建位图句柄并加载位图对象位图句柄HBITMAPhBmp;HBITMAPLoadBitmap(HINSTANCEhInstance,LPCTSTRlpBitmapName);使用方法:HBITMAPhBmp=LoadBitmap(g_hInst,MAKEINTRESOURCE(IDB_BITMAP1));位图资源有两种:系统内置资源应用程序位图资源创建位图句柄并加载位图对象HBITMAPCreateBitmap(intnWidth,//指定位图的宽度intnHeight,//指定位图的高度UINTcPlanes,//该设备使用的颜色位数目,在CE环境中为1UINTcBitsPerPel,//指定每个像素所用的为数,一般为2的n次方CONSTVOID*lpvBits//指向颜色数据数组指针);创建位图句柄并加载位图对象01010001011101110001=5177100001010111011101110101=5777500000010011011101110101=1377500001010111011101110101=5777500001010001000100010001=51111000hBmp=CreateBitmap(20,5,1,4,bits);创建位图句柄并加载位图对象HBITMAPSHLoadDIBitmap(LPCTSTRszFileName);位图显示步骤创建内存设备环境将位图选入内存设备环境调用传送函数在设备上显示位图内存设备环境内存设备环境的作用提高存储速度,并且使位图的设备环境和设备环境设置进行匹配。WindowsCE首先将位图装入到内存设备环境中,然后从内存中复制到设备环境中。HDCCreateCompatibleDC(HDChdc);参数hdc一般情况下给NULL位图选入设备对象使用。SelectObject()函数。传送数据块的函数(第一种块传输方式)BOOLBitBlt(HDChdcDest,//目标设备环境的句柄intnXDest,//目标矩形区域左上角的逻辑坐标intnYDest,intnWidth,//目标矩形区域的宽度和高度intnHeight,HDChdcSrc,//源绘图环境的句柄intnXSrc,//源位图左上角的逻辑坐标intnYSrc,DWORDdwRop//设定要执行的光栅操作代码);SRCCOPY将源位图拷贝到目标位图(传输方法)实例:BitBlt(hdc,0,0,rect.right,rect.bottom,hdcmen,0,0,SRCCOPY);传送数据块的函数(第二种拉伸传输方式)BOOLStretchBlt(HDChdcDest,intnXOriginDest,intnYOriginDest,intnWidthDest,intnHeightDest,HDChdcSrc,intnXOriginSrc,intnYOriginSrc,intnWidthSrc,//多了源位图宽度参数intnHeightSrc,//多了源位图高度参数DWORDdwRop);传送数据块的函数(第二种拉伸传输方式)要知道位图有多大,可先定义个BITMAPbmp变量,后使用以下方法获得BITMAPbmp;GetObject(hBmp,sizeof(bmp),&bmp);……StretchBlt(hdc,0,0,rect.right,rect.bottom,hdcmen,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);传送数据块的函数(第三种透视传输方式)BOOLTransparentBlt(HDChdcDest,intnXOriginDest,intnYOriginDest,intnWidthDest,inthHeightDest,HDChdcSrc,intnXOriginSrc,intnYOriginSrc,intnWidthSrc,intnHeightSrc,UINTcrTransparent);最后一个参数是是个颜色值

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功