Domanda

I can draw a string literal via DrawText():

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

However, this doesn't work with anything else. Specifically, I can't output the value stored in a variable, such as an int:

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

Or a char:

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

How can I use DrawText() to display the contents of a variable? Why does using a string literal like "abc123" work but substituting it with variable doesn't?

È stato utile?

Soluzione

DrawText only knows how to display character strings. To display anything else, you need to convert to a character string first, then display that.

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

     DrawText(hdcWindow, buffer.str().c_str(), -1, &rc, DT_SINGLELINE);
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top