eigenen Wert beim Dialog beenden zurückgeben
-
Hallo
Ich habe eine SDI-Anwendung und der Benutzer wird mittels eines modalen Dialogs aufgefordert Dinge zu tun.
if(Dialog.DoModal() == IDOK) { .... }Ich würde es nun gerne so machen, dass wenn der Benutzer im Dialog eine Taste klickt der Dialog einen eigenen Wert zurückgibt. Also beispielsweise 100 und ich weiß dann, dass der Benutzer diese Taste gedrückt. Wie kann man das machen?
Ich hoffe, dass ich mich verständlich ausgedrückt habe.
chrische
-
Wie wäre es, wenn dein User nicht DoModal aufruft (das sollte man evtl. sogar verhindern) sondern eine andere Funktion?
In der kannst du dann zurückgeben was du willst und innen drin DoModal aufrufen.

-
Man kann jeden beliebigen Wert mit der Funktion EndModal zurückgeben. Dieser Wert wird dann auch von DoModal returniert.
Ich verwende oft Werte wie IDABORT, IDYES, IDNO, IDRETRY als "etwas andere" Dialog-Rückgabewerte.Jeder Wert ist erlaubt. -1 ist ungünstig, das es einen Fehler signalisiert.
-
Es geht auch mit EndDialog([der gewünschte Wert]) (bei modalen Dialogen) ...
Gruss, Gio