WinApi: Stringresultat

  • Code
    if (lParam == (LPARAM)hButton2)
    {
     if (HIWORD(wParam) == BN_CLICKED);
      string text;
      text = "Hallo"
      SendMessage( hwnd, WM_SETTEXT, wParam, (LPARAM)(LPCSTR)&text); 
    }

    Eigentlich müsste sich der Fenstertitel bei Knopfdruck auf "Hallo" ändern. Stattdessen bekomme ich nur folgende Zeichen als Resultat.
    "&b"

    Wie kann ich diesen Fehler beheben?

  • evtl Schwierigkeiten bei der Konvertierung Ascii<>Unicode? Die WinApi ist da relativ verwirrend und ich weis nicht, wie string die Daten intern speichert. Versuchs mal mit nem Char-Array

    Spoiler anzeigen


    Haupt-Laptop:
    Dell Vostro 3560 - i7-3632QM, 6GB
    Rechenknechte:
    Lenovo - i5, 4GB
    Medion - Pentium Dual Core, 3GB
    IBM T60 - Core Duo, 2GB
    Lenovo T400 - Core2Duo, 2GB
    Server:
    Sony - Pentium M, 512MB
    Unbenutzt:
    Noname - Celeron D, 1GB

  • Ja, ich habe es schon gefunden. :)

    Code
    char c1[100];
    std::string s1;
    SendMessage(hEdit1, WM_GETTEXT, sizeof(c1), (ULONG)c1);
    s1 = c1;
    if (s1=="Hallo") {
     SendMessage(hwnd, WM_SETTEXT, wParam, (LPARAM)s1.c_str());
    }

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!