社区
VC.NET
帖子详情
如何把一个.Net的字体对象转换为非托管的LOGFONT对象
牧童吃五谷
2020-04-17 05:10:53
System::Drawing::Font^ dFont = gcnew System::Drawing::Font(L"宋体",10);
System::Object^ dObject = gcnew System::Object();
dFont->ToLogFont(dObject);
上面这个语句一运行就错误,我现在就想让字体对象如何在托管与非托管之间转换
...全文
2575
回复
打赏
收藏
如何把一个.Net的字体对象转换为非托管的LOGFONT对象
System::Drawing::Font^ dFont = gcnew System::Drawing::Font(L"宋体",10); System::Object^ dObject = gcnew System::Object(); dFont->ToLogFont(dObject); 上面这个语句一运行就错误,我现在就想让字体对象如何在托管与非托管之间转换
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LOGFONT
结构体中文
LOGFONT
结构体中文详解 (WORD)版
Windows Mobile 使用
LogFont
显示旋转文本示例
说明了如何通过从
LogFont
结构创建
字体
来绘制旋转文本
WTL在对话框工程中更改
字体
这个代码是我自己写的,通过使用API和WTL的相关函数可以实现。 一次编程中想更改对话框的
字体
,于是想想WTL可不可以做到呢?我当时尝试着使用标准的win32函数CreateFont来创建
字体
,并且返回
字体
的句柄。再在CStatic类里面调用SetFont()这个函数来使用
字体
。但是我没有成功。此外我还使用了
LOGFONT
结构体和CFont、C
LogFont
类,但是收效甚微。 看了网络上很多的帖子,发现这样使用CFont类的和C
LogFont
类的人对
字体
操作的都是基于单文档项目、多文档项目。我然后查找了一下CFont在WTL里面的指南(Reference)。里面说到CFont作用的范围是客户区。那么应该可以这么说,在一个对话框项目里单独使用CFont就没法奏效。
自定义
字体
输出类
给定字符串(字符串可以是中文字符,也可以是其他字符,包裹半角,英文等),可以实现矩形内自动输出,可以设置字符的字符间距,行间距,
字体
颜色,实现不同
LOGFONT
定义
字体
自动衔接,不同高度
字体
按下部对齐输出 如果要输出的
字体
高度相同(其他属性可以不同),可以实现中文,英文,数字等混合是输出。使用void CFontEx::Draw(CDC *pDC,CStringArray &array;,int *nLen,int nHeight,
LOGFONT
*plf,CRect rc); 如果要输出的
字体
高度不相同(相同也可以使用,但中文字符须跟英文等字符分开输出)void CFontEx::void Draw(CDC *pDC,CStringArray &array;,FontMetric *pfm,
LOGFONT
*plf,CRect rc); 使用时,先设置坐标模式,确定y向下为正或负 使用void SetCordinat(int m_nFormat) 使用void SetExtraHeight(int nExtraHeight);设置行间距 使用结构体定义一个字符串特定信息 struct FontMetric{ int nLen;//该字符串长度,中文字符由CulLength计算, //英文字符有字符串长度与宽度和间距计算 int nHeight;//字符高度 int nWidth;//字符宽度 int nExtern;//字符间距 COLORREF nTextColor;//
字体
颜色 bool bIsText;//是否为中文字符 };
逻辑
字体
与
字体
的对应关系
逻辑
字体
与
字体
的对应关系逻辑
字体
与
字体
的对应关系
VC.NET
7,540
社区成员
27,673
社区内容
发帖
与我相关
我的任务
VC.NET
.NET技术 VC.NET
复制链接
扫一扫
分享
社区描述
.NET技术 VC.NET
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章