Я могу нарисовать строковый литерал через 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
не делает?
DrawText
знает только как отображать символьные строки. Чтобы отобразить что-либо еще, вам нужно сначала преобразовать в строку символов, а затем отобразить ее.
void show_int(int x, /* ... */) {
std::stringstream buffer;
buffer << x;
DrawText(hdcWindow, buffer.str().c_str(), -1, &rc, DT_SINGLELINE);
}
Других решений пока нет …