0

我想知道这是否是一个问题I3D3XFont::DrawTextW,我将一个字符串传递给\t它,它会扩展它。但是,它并不总是正确地做到这一点。如果我打印传递给它的相同字符串,则选项卡会正确展开。例如,

dxfont->DrawTextW(NULL, msg, wcslen(msg), &textbox,
        DT_LEFT | DT_TOP | DT_EXPANDTABS, D3DCOLOR_ARGB(255, 180, 180, 180));

通过以下方式创建味精:

swprintf_s(temp, sizeof(temp), L"%s\t\t\t\t%i\t\t%i\t\t%s\t\t%i\n",
        pList[x].name.c_str(), pList[x].kills, pList[x].deaths, wratio,
        pList[x].suicides);

其中,当打印到控制台时,结果如下:

Bamrow<4x tab>0<2x tab>0<2x tab>N/A<2x tab>2

但是,DrawTextW 将其显示为

Bamrow<5x tab>0<2x tab>0<2x tab>N/A<2x tab>2

有没有其他人遇到过这个问题和/或知道解决方案?

4

1 回答 1

0

嘿,对不起。解决它。我需要根据单词的像素长度而不是有多少字符来对选项卡进行比例。GetTextExtent32W 成功了。

于 2009-12-04T06:57:39.337 回答