0

我可以通过以下方式绘制字符串文字DrawText()

DrawText (hdcWindow, "abc123", -1, &rc, DT_SINGLELINE);

但是,这不适用于其他任何东西。具体来说,我无法输出存储在变量中的值,例如int

int variable = 5;
DrawText (hdcWindow, variable, -1, &rc, DT_SINGLELINE);

char

char variable = a;
DrawText (hdcWindow, variable, -1, &rc, DT_SINGLELINE);

如何使用DrawText()来显示变量的内容?为什么使用类似"abc123"工作的字符串文字但用variable不代替它?

4

1 回答 1

7

DrawText只知道如何显示字符串。要显示其他任何内容,您需要先转换为字符串,然后再显示。

void show_int(int x, /* ... */) { 
     std::stringstream buffer;
     buffer << x;

     DrawText(hdcWindow, buffer.str().c_str(), -1, &rc, DT_SINGLELINE);
}
于 2013-07-08T02:40:20.337 回答