Fenstertitel updaten



  • Hallo,

    wie kann ich einem Fenster zur Laufzeit einen neuen Titel (WindowName) geben?

    Alos bei CreateWindow ist es ja einfach, aber ich möchte nach CreateWindow den WindowName noch ändern können.

    Besten dank im schonmal



  • SetWindowText falls du es im eigenen Prozess vorhast, ansonsten WM_SETTEXT:

    To set the text of a control in another process, send the WM_SETTEXT message directly instead of calling SetWindowText.



  • Danke für deine Hilfe, hat prima geklappt.

    Kannst du mir auch sgen wie man den Cursor ändern kann? Ich habe es mit Set Cursor versucht aber das funktionierte nicht richtig. Kann man auch das Icon zur Laufzeit ändern?

    Danke nochmal



  • Beides kannst du direkt in der WNDCLASS(EX) Struktur angeben. Zur Laufzeit sollte das mit SetClassLong(Ptr) möglich sein - mit SetCursor sollte es aber auch klappen 🙄 (zeig mal deinen Versuch)



  • SetClassLongPtr ist mir persönlich etwas zu brutal. Die Änderung betrifft schliesslich alle auf dieser Klasse basierenden Fenster.

    SetCursor funktioniert gut. Allerdings nur solang, wie Du die Maus nicht bewegst oder nicht anfängst, Nachrichten zu dispatchen. Deswegen sollte der Aufruf in WM_SETCURSOR verlagert werden.



  • Das mit dem SetCursor versuche ich bei WM_LBUTTONDOWN ich hab da einfach gesagt

    HCURSOR cr = LoadCursor(NULL, IDC_WAIT);
    SetCursor(cr);
    


  • If your application must set the cursor while it is in a window, make sure the class cursor for the specified window's class is set to NULL. If the class cursor is not NULL, the system restores the class cursor each time the mouse is moved.

    oder eben einfach eine entsprechende Variable in WM_LBUTTONDOWN und WM_LBUTTONUP tooglen und dann in abhängigkeit davon bei WM_SETCURSOR den einen oder den anderen Cursor setzen


Anmelden zum Antworten