M8 中设置文字属性的两种方法对比和分析
来源:互联网 发布:陶哲轩实分析 知乎 编辑:程序博客网 时间:2024/04/30 07:54
M8 是基于WinCE的开发平台,但是是那种减肥版的,很多功能都不能用,比如CString这个类,只要包含#include <afx.h> 则模拟器就会死在进程创建的地方,这个应该是winCE不支持。今天试验了两种设置字体并显示的方法,下面一一列举:
1.GetFont()的方法,具体使用如下:
HFONT hfont = FontHelper::GetFont(80);//80大小的字体
HFONT hOldFont = (HFONT)SelectObject(hdcMem, hfont);//设置到DC
int bkMode = SetBkMode(hdcMem, TRANSPARENT);//设置模式
COLORREF color = SetTextColor(hdcMem, RGB(255, 255, 255));//设置颜色
TCHAR szTitle[250]; // The title bar text
CMzRect rcText(0, 0, 444, 444);//注意MZ的Rect是左上角坐标和右下角坐标,没有宽和高
HINSTANCE hInstance = GetModuleHandle(0);//获取hInstance,这个和windows编程一样
LoadString(hInstance,IDS_STRING130,szTitle,250);//从资源string table里面获得文字
DrawText(hdcMem, szTitle, _tcslen(szTitle), rcText, DT_CENTER);画到屏幕上
2.使用LOGFONT设置字体
CMzFont hFont;
LOGFONT logFont; //创建LOGFONT的数据
memset(&logFont,0,sizeof(LOGFONT)); // 清零
logFont.lfHeight=30; //设置高度这个等效于GetFont
logFont.lfWeight = 15;设置字体的重量,也就是粗细
wcscpy(logFont.lfFaceName,L"Arial"); //给他设置字体名称
hFont.CreateFontIndirect(&logFont); ////创建字体
//下面基本一样
SelectObject(hdcMem,hFont); //
int bkMode = SetBkMode(hdcMem, TRANSPARENT);
COLORREF color = SetTextColor(hdcMem, RGB(255, 0, 0));
TCHAR szTitle[250]; // The title bar text
CMzRect rcText(0, 0, 720, 480);
HINSTANCE hInstance = GetModuleHandle(0);
LoadString(hInstance,IDS_STRING_GAMERULE,szTitle,250);
DrawText(hdcMem, szTitle, _tcslen(szTitle), rcText, DT_LEFT);
可以看到两种方法都是可以实现DrawText,第一种可以用于简单的设置,只要一个函数就搞定,第二种呢可以设置一些详细LOGFONT 里面的属性,还有宽度啊什么的,具体还没试验。。
以上就是设置字体的两种方法,同时提供了如何从string table中获得字符串的方法
HINSTANCE hInstance = GetModuleHandle(0);
LoadString(hInstance,IDS_STRING_GAMERULE,szTitle,250);
- M8 中设置文字属性的两种方法对比和分析
- js+jquery动态设置/增加/删除/获取元素属性的两种方法集锦对比(动态onclick属性设置+动态title设置)
- 两种方法设置 图片加文字
- 文本框的占位文字属性设置的4种方法
- Java中字符串两种等于的方法的对比
- Java中读取Map的两种方法对比
- Java中读取Map的两种方法对比
- 在xib和storyBoard上设置layer属性的两种方法
- 提取pdf文件中文字的两种方法
- //两种方法设置disabled属性
- jquery 两种方法设置disabled属性
- //两种方法设置disabled属性
- 数据库分页的两种方法对比(row_number()over() 和 top的对比)
- Hibernate获得Session对方的两种方法对比(opeenSession和getCurrentSession对比)
- Map遍历的两种方法对比
- M8中DDraw关键色的处理方法
- 文字跑马灯的两种方法
- 两种方法实现文字的移动
- C语言学习进程:fseek与ftell函数
- double buffing
- SDD
- SharePoint自定义控件(1)
- 巧用img的width和height属性进行缩图,使图片不变形
- M8 中设置文字属性的两种方法对比和分析
- 主键和索引的区别
- js操作select相关方法
- .NET设计模式(2): 工厂方法模式
- 嵌入式GUI及其开发工具——miniGUI和mStudio
- 用C# 语言实现在界面显示圣诞树图形
- 游戏资源
- 自写位图做纹理(原创)
- asp.net中多行文本框高度自适应内容的问题