WM_COMMAND teilweise abarbeiten?

HCWD

Erfahrenes Mitglied
Ist es möglich, WM_COMMAND teilweise abzuarbeiten, dann warten bis der User es erlaubt weiter zu verarbeiten und dann der Rest gelesen wird?

Kurzes Beispiel:

Ich erzeuge ein CHILDFENSTER... und dann soll er im PARENTFENSTER den WM_COMMAND freezen und in den WM_CREATE vom CHILDFENSTER springen... dort so lange arbeiten bis das CHILDFENSTER geschlossen wird und dann den Rest vom PARENTFENSTER des WM_COMMAND abarbeiten?

Greetz
 
Bist du sicher, daß du ein Child-Fenster im Sinne von WS_CHILD meinst? Oder einfach nur einen modalen Dialog?

Zweiteres machst du über den Befehl DialogBox. Dieser startet eine Dialog-Box und kommt erst zurück, wenn dieser Dialog geschlossen wurde.
 
aha. also ich meine Folgendes... sagen wir mal: Ich hab ein Programm am Laufen. Jetzt will ich mich mit einem Benutzer einloggen. Somit gehe ich auf Login und durch das drücken auf der Symbolleiste soll mir ein neues Fenster aufgeben mit Loginfelder. Sobald ich auf einloggen geklickt hab, lässt er mich rein oder auch nicht. Je nach dem soll sich das Fenster wieder schließen und dann in der Statusleiste das Ergebnis liefern.

Ich dachte eben, wenn ich in WM_COMMAND ein Fenster öffnen würde... soll das Programm (Parent) warten bis ein Rückgabewert zurück kommt, um dann die if abzuarbeiten, um dann den Wert in der Statusleiste anzuzeigen.

Hoffe es ist verständlich umschrieben?!
Würde mich bei Hilfe freuen.

Greetz
 
Dann paßt es genau auf Modalen Dialog. Modal bedeutet, dass man bei dem Programm nur diesen Dialog bedienen kann, der Rest des Programmes ist GUI-technisch disablet.

Sieh dir am besten DialogBox an, das macht genau das. Du mußt dazu eine DialogProc anlegen, diese hat große Ähnlichkeit mit der WindowProc, aber doch einige Unterschiede. Die MSDN-Hilfe ist da aber recht ausführlich.
 
danke. Werde mich mal mit diesen DialogBoxene mehr auseinander setzen müssen, weil das Konstrukt so wie ich es mal bei einem Tutorial gesehen habe, nicht ganz logisch erscheint.

THX

//DONE
 
Zurück