3

有没有办法在 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 类中操作绘图吗?


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

4

1 回答 1

3

这是你需要的吗?

“使用 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

于 2014-09-24T06:02:44.247 回答