CStatic控件中的字母间距

Letter Spacing in CStatic Control?

本文关键字:控件 CStatic      更新时间:2023-10-16

有没有办法在CStatic标签中设置字母间距?所以"TEST"看起来像"T E S T"?我通过SetFont()方法使用LOGFONT及其参数进行了尝试,如下所示:

LOGFONT lf;
memset(&lf, 0, sizeof(lf));
lf.lfHeight = -24;
lf.lfWidth = -17;
lf.lfWeight = FW_THIN;
lf.lfOutPrecision = OUT_TT_ONLY_PRECIS;
lf.lfQuality = ANTIALIASED_QUALITY;
wcscpy_s(lf.lfFaceName, m_mainFont.GetFontFamilyName().c_str());
CFont font;
font.CreateFontIndirectW(&lf);
m_staticCtl.SetFont(&font);

lfWidth参数似乎没有设置任何间距,它只是拉伸字符的宽度。

在CStatic控件或CFont中是否有允许字母间距的选项?或者我可以以某种方式在继承的CStatic类中操作绘图吗?


编辑:我说的是字母间距。测试只是一个例子。。。我希望这是清楚的。我想要以像素为单位的字符之间的特定字母间距(而不是额外的空格字符)

这就是您需要的吗?

"字符间间距是使用GDI调用SetTextCharacterExtra控制的。另一个答案是使用ExtTextOut"。。。。http://social.msdn.microsoft.com/Forums/vstudio/en-US/538607f8-0d88-42f3-b6bc-f3008002b607/how-to-change-the-lineheight-and-letterspacing-value-when-drawing-text-in-gdiplus?forum=vcgeneral