大佬教程收集整理的这篇文章主要介绍了windows C++如何根据文本字符串计算其绘制需占用宽度,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
计算某串文本在绘制UI上需要占用的宽度,需要以下几个要素:
@H_404_10@::SELEctObject(hDC,hFont); //第四个参数:指向SIZE结构的指针,该结构中字符串的尺寸将被返回。 ::GetTextExtentPoint32(hDC,str,StrLen(str),&sizeText);
Gdiplus::rectF rc1(0,5000,2000); Gdiplus::rectF rc2(0,0); g.MeasureString(str,-1,pFont,rc1,pStrFormat,&rc2); return rc2.Width;@H_404_10@
Gdiplus::stringFormat
,类似的赋值方式如下:Gdiplus::stringFormat* pStrFormat = new Gdiplus::stringFormat(); pStrFormat->SetAlignment(enHAlign); pStrFormat->SetLineAlignment(enVAlign); If_Do(nFormat != 0,pStrFormat->SetFormatFlags(nFormat));@H_404_10@
可以参考MSDN上的StringAlignment Enumeration,和StringFormatFlags Enumeration。
举例:SetFormatFlags
传入参数StringFormatFlagsnowrap
则禁用换行,否则在矩形内绘制文本时是自动换行的。
还可以使用SetTextRenderingHint
API设置文本的渲染模式,可参考MSDN中关于TextRenderingHint Enumeration的资料,一般情况下使用默认的TextRenderingHintSystemDefault
即可
GDI+学习及代码总结之------文本与字体
以上是大佬教程为你收集整理的windows C++如何根据文本字符串计算其绘制需占用宽度全部内容,希望文章能够帮你解决windows C++如何根据文本字符串计算其绘制需占用宽度所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。