Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by RandomDD,
19. Aug 2016
Das Wort fällt jetzt zum ersten Mal. Was genau meinst du damit? Klingt interessant.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by RandomDD,
19. Aug 2016
Der Modus aktiviert nicht die Fernsteuerung sondern er unterbindet das Anzeigen von Dialogen.
Gute Erweiterung. Habe ich soeben auch hinzugefügt.
procedure MeinCustomMsgDialogOnMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
// ...
MeinCustomMsgDialog.OnMouseMove := MeinCustomMsgDialogOnMouseMove;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by RandomDD,
19. Aug 2016
Die Aktion dauert in etwa 10 bis 20 Millisekunden. So schlimm wird es also nicht sein :-D
Der Nutzen ist ganz einfach: wenn man die Software fernsteuert und warum auch immer nicht den Modus dafür eingeschaltet hat und dann ein Dialog aufpoppt, ist die Fernsteuerung nutzlos und kann nichts mehr ausrichten.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by RandomDD,
19. Aug 2016
Das mit dem Banner halte ich für nicht sinnvoll. Es ist auch kein Nagscreen oder ähnliches.
Es ist einfach eine Nachricht, die angezeigt und bestätigt werden muss. Wird sie nicht innerhalb des Timeouts bestätigt, gilt die Aktion als abgebrochen.
Verstehe nicht, was daran nicht zu verstehen ist. :o
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by RandomDD,
19. Aug 2016
Wofür wäre diese Variable denn dann? Komme nicht ganz dahinter.
Den messageDlg muss ich leider über eine Message klicken, da er sonst nur geschlossen wird (Rückgabwert Cancel, 2), auch wenn der Button Cancel nicht existiert.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by RandomDD,
18. Aug 2016
Für alle Interessierten, hier meine Lösung:
// Dialog erzeugen
MeinCustomMsgDialog := CreateMessageDialog(DlgText, mtInformation, , mbNo);
DialogDefaultButton := TButton(MeinCustomMsgDialog.ActiveControl);
// Default Button anklicken
if DialogDefaultButton.Handle <> 0 then
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by RandomDD,
18. Aug 2016
Gibt es keine Möglichkeit?
Eventuell mit SendMessage denke ich mir. Aber ich wüsste nicht, wie man herausbekommt, dass der Default-Button geklickt werden soll.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by RandomDD,
18. Aug 2016
Das mit den logs werde ich noch umsetzen, danke für den Hinweis.
Der DAU sieht die Dialoge auch so nicht, wenn die Software ferngesteuert wird. Aber wenn ein Dialog angezeigt wird - er kann ihn ja nicht wegklicken. Daher der Auto-Close, den ich für recht sinnvoll halte.
Nur ich komme nicht dahinter, wie ich ihn so schließe, dass der Default-Button als Wert zurückgegeben wird beim ShowModal....
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by RandomDD,
18. Aug 2016
So einige gibt es da. Bei mir hat es aktuell denn Sinn, dass wenn man mein Programm ferngesteuert und ein Dialog aufkommt, er geschlossen wird damit die Fernsteuerung nicht blockiert wird. Es gibt auch einen bestimmten Modus wo keine Dialoge angezeigt werden. Aber ich habe gelernt, dass man immer vom "DAU" ausgehen muss.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by RandomDD,
18. Aug 2016
Ich erzeuge an gewissen Stellen einen MessageDlg in meinem Programm die auch automatisch wieder geschlossen werden.
Das geht ganz einfach über einen Timer und mit MeinCustomDialog.Close;
Bei ShowModal ist das Resultat demnach immer 2. Also idCancel.
Wie kann ich den Dialog so schließen, dass der Default-Button, welcher übrigens fokusiert ist, als Resultat zurückgeht?