Ein paar einfache GUI Fragen...



  • OK, das klappt, habe auch was mit _atoi() gefunden.

    Frage 2: Wie beende ich eine Anwendung per Befehl? Gibts ein Close() wie bei Delphi?



  • JPSelter schrieb:

    Wie beende ich eine Anwendung per Befehl? Gibts ein Close() wie bei Delphi?

    Du kannst eine WM_CLOSE Message senden, die die Anwendung schließt.
    Siehe SendMessage



  • OnCancel();

    Nur für das eigene Fenster



  • Nächste Frage: Kann ich im Dialog Editor auch irgendwo die exakte Grösse z.B. von Buttons festlegen? Zur Zeit muss ich alles per Augenmaß skalieren und hoffen, dass alles gleichgross ist.



  • Du könntest dir eventuell ein Raster einblenden lassen und die Button etc daran ausrichten (das reicht imho schon aus, um ein vernünftiges Design hinzubekommen). Alternativ öffnest du die Ressourcen-Datei als Text und schraubst von Hand an den Werten herum.



  • JPSelter schrieb:

    Nächste Frage: Kann ich im Dialog Editor auch irgendwo die exakte Grösse z.B. von Buttons festlegen? Zur Zeit muss ich alles per Augenmaß skalieren und hoffen, dass alles gleichgross ist.

    Schau dir die Toolbar genau an, da sind einige Schaltflächen für das Ausrichten und Größe anpassen von Dialogelementen.



  • Oha, man muss mehrere Objekte markieren damit die anderen Tools dort auswählbar sind. Danke für den Tip!



  • Neue Frage: Ich habe hier ja gelernt, dass ich GUI-Komponenten über eine Member-Variable ansprechen kann, also so, dass ich z.B. bei einem StaticText einfach "m_Static1='test'" sagen kann. Mein Prof macht aber immer "GetDlgItem(IDC_STATIC1)->SetIrgendwas('test')". Was ist denn nun komfortabler bzw. schöner? Die Member-Variablen-Version ist immerhin kürzer zu schreiben.



  • *bump* 🙂



  • Beides hat seine Vor- und Nachteile.
    Du kannst dir ja auch eine Controlvariable anlegen, dann schreibt sich das genauso einfach. Schau dich dazu im Klassenassistenten mal unter der Lasche "Membervariablen" um.

    Denn manchmal brauchst du ja mehr als nur den Wert eines Controls, z.B. wenn du es de-/aktivieren willst.
    Das merkst du aber mit der Zeit von alleine.

    Nur die Zeiger, wie dein Prof (und viele andere) das macht, müsste man eigentlich noch prüfen, ob die auch gültig sind. Nur tuts irgendwie keiner. 😉
    Und SetDlgItemText gibt es dann auch noch, das ist der dritte Weg.



  • Wieso stimmen eigentlich die Pixel-Werte beim GUI-Bau nicht mit der Wirklichkeit überein? Laut VC6++ ist mein Dialog 500x360 Pixel gross, aber es sind mindestens 800x700 (habs nicht nachgemessen). Auch der Button ist in der rc-Datei mit 15px Höhe angegeben, aber es sind weit mehr...


Anmelden zum Antworten