C++ | Wie kann ich einen String in SetWindowText benutzen?
Hallo ich habe eine Frage wegen C++ ^^ in meiner kleinen GUI möchte ich zb. per Knopfdruck einen String auf meinem Label anzeigen. Folgendes funktioniert da schon ganz gut:
SetWindowText(LabelTest ,TEXT("Test"));
Nun will ich aber einen String statt dem geschriebenen "Test" verwenden. Also:
string a = "Test";
SetWindowText(LabelTest ,TEXT(a));
Und bekomme folgende Fehlermeldung:
[Error] cannot convert 'std::string {aka std::basic_string}' to 'LPCSTR {aka const char }' for argument '2' to 'WINBOOL SetWindowTextA(HWND, LPCSTR)'<
Leider bin ich noch ein ziemlicher Anfänger was C++ angeht und habe auch nach längerem rumprobieren keine Lösung gefunden. Ich hoffe mal, dass mir hier jemand helfen kann.
LG- Tim
1 Antwort
Nutzer, der sehr aktiv auf gutefrage ist
TEXT() erwartet einen LPCSTR. Das ist ein eigentümlicher Win32-API Name für einen normalen C-String-Pointer soweit ich weiß.
string a = "Test";
SetWindowText(LabelTest, TEXT(a.c_str()));
Woher ich das weiß:Berufserfahrung – Berufserfahrung