GetWindowText



  • Hi
    Ich möchte gerne eine Frage stellen. Und zwar würde ich gerne wissen, wie man das mit GetWindowsText machen muss.
    Ich habe da ein Beispiel(Auschnitt aus meinem Code):

    case WM_CREATE :
          hwndButton1 = CreateWindow ( "button", "Bestätigen",
                                       WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
                                       251, 20, 100, 17, hwnd, (HMENU)1,
                                       (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE), NULL);
    
      hwndEdit2   = CreateWindow ( "edit", "",
                                       WS_CHILD | WS_VISIBLE,
                                       125, 20, 100, 17, hwnd, (HMENU)2,
                                       (HINSTANCE) GetWindowLong (hwnd, GWL_HINSTANCE), NULL);
      return 0;
    
      case WM_COMMAND:
          switch(LOWORD(wParam))
          {
      case 1:
               int gt;
               LPSTR hmm;
               GetWindowText(hwndEdit2,hmm,gt);
               SendMessage(hwndEdit2, EM_SETREADONLY, gt, 0);
               SetWindowText(hwndEdit2,hmm);
               SendMessage(hwndEdit2, EM_SETREADONLY, TRUE, 0);
          break;
          case 2:
               SendMessage(hwndEdit2, EM_SETREADONLY, FALSE, 0);
          break;
          }
      return 0;
    

    Ich möchte dass, wenn ich auf den Knopf "Bestätigen" klicke. Die eingame aus dem Feld angezeigt wird. Jetzt ist es aber so, dass irgendwelche Zeichen angezeigt werden, anstatt der Text den ich ins Edit-Feld geschrieben habe.

    Sagt mir bitte wie ich den Code abändern muss, dass allse glatt läuft.
    Danke
    mfg
    Z3R0



  • Du musst erstmal einen Buffer bereitstellen, welchen Du dann durch
    die Funktion GetWindowText füllen lässt:

    const int size = 255;
    TCHAR buffer[size] = {0};
    GetWindowText(hwndEdit2, buffer, size);
    


  • hey danke vielmals werds ausprobieren



  • sorry für Doppel post aber leider kann ich als Gast nicht editieren...
    so das Ganze funktioniert leider nicht... erst zeigt er mir fehler bei case 2: an und dann (wenn ich das rausnehme) zeigt der wieder die Zeichen vom Anfang...
    weisst du oder jemand woran das liegt?
    mfg


  • Mod

    Ohne mehr Code zu sehen kann man nicht helfen.
    Sind denn hwndEdit2 lokale Variablen? Dnn liegt hier schon ein Fehler...



  • hey danke!
    jetzt läuft alles glatt!
    würd noch gerne den code für nen zufallsgenerater kennen...
    in "Console App."

    srand( time(NULL))
    cout<<(rand()%h)+1<<endl;
    

    weiss jemand wie das in api geht?


  • Mod

    Genauso!



  • wie das geht?
    😃 oh mann ich bin nicht der hellste...



  • Naja... Nicht böse sein aber das geht nicht!

    if(LOWORD(wParam) == 5)
       {
         srand(time(NULL));
         rand()%5)+1<<endl;
         SetWindowText(hwndEdit4, (rand()%5)+1);
    
       }
    

    hwndEdit4 ist das Edit Feld wo ich die Zufallszahl will...



  • Lern programmieren.



  • Ja da bin ich grad dabei!
    Darum brauch ich eure Hilfe! wenn ich programmieren könnte, wäre ich nicht hier und würde nicht fragen wie sowas geht!
    Tut mir leid wenn ich nicht so gut bin wie du aber ich bin halt ein Anfänger!!



  • Ein Anfänger muss nicht mit Winapi rumfrickeln. Lern erstmal die Grundlagen und komm dann wieder. Wir haben keine Lust solche absolut rudimentären Dinge zu erklären, die in jedem C Buch auf den ersten 3 Seiten drin stehen.



  • Oh Toll
    Wie alt bist du mein Kleiner?
    Ich hab die Grundlagen aber noch kein Buch für WINAPI!
    Ich weiss dass bei dem Code von vorhin was falsch ist!!
    Aber bitte... Dann lass ichs eben!
    Nuckel!



  • 24. du brauchst auch kein buch zur winapi. du brauchst eins zum c lernen.


  • Mod

    z3r0skull schrieb:

    Ich hab die Grundlagen aber noch kein Buch für WINAPI!
    Ich weiss dass bei dem Code von vorhin was falsch ist!!

    Das hat mit der WinAPI nichts zu tun, aber auch gar nichts!
    Wenn Du einen Integer einem TCHAR* zuweisen willst fehlen Dir ganz klar C/C++ Grundlagen. Du hast den Unterschied der Datentypen noch nicht begriffen!



  • Ja ich werd mich mal umschauen!
    Entschuldige wegen der aggressiven Äusserungen von vorhin 😉
    Ich gucke mal wieder vorbei. Und mit der Zufallszahl geht jetzt!

    mfg



  • Martin Richter schrieb:

    z3r0skull schrieb:

    Ich hab die Grundlagen aber noch kein Buch für WINAPI!
    Ich weiss dass bei dem Code von vorhin was falsch ist!!

    Das hat mit der WinAPI nichts zu tun, aber auch gar nichts!
    Wenn Du einen Integer einem TCHAR* zuweisen willst fehlen Dir ganz klar C/C++ Grundlagen. Du hast den Unterschied der Datentypen noch nicht begriffen!

    Genau das hab ich übersehen! War zu voreilig!


Anmelden zum Antworten