Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by himitsu,
30. Okt 2016
Oft heißen die Caller der Events DO
OnClick -> DoClick (siehe TButton)
Aber bei TMenuItem gibt es keinen expliziten Caller für dieses Event.
Allerdings gibt es hier eine passende Methode, für diese Funktion, die man auch per Code aufrufen kann, um die Funktion von MenuItems/Buttons auszulösen.
procedure Click; override;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by himitsu,
30. Okt 2016
Hmm, gab es beim MainMenu nicht auch sowas wie OnPopup?
Irgendwas, wo man vor dem Anzeigen noch schnell am Menü rumspielen kann? (Items Erstellen, Dis./Enablen oder sie Checkboxen)
Bei den Hauptmenüpunkten kann man auch OnClick benutzen ... OnClick wird beim Aufpoppen des Submenüs ausgelöst.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by himitsu,
30. Okt 2016
Wenn beim OnExit etwas deaktiviert wird und beim OnEnter aktiviert, an wäre das sonst inaktiv, obwohl der Fokus immernoch in dem Control ist. (oder andersrum)
Aus diesem Grund verwenden einige Leute niemals pure Controls, sondern leiten alles immer ab (auch wenn erstmal noch nicht verändert wurde)
So kann man dann später global ein Verhalten einbauen/ändern, ohne noch irgendwas ändern zu...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by himitsu,
30. Okt 2016
type
TExitFormHelper = class helper for TForm
private type
TProtectedControl = class(TWinControl);
public
procedure CheckOnExit(WithOnEnter: Boolean=False);
end;
procedure TExitFormHelper.CheckOnExit(WithOnEnter: Boolean);
begin
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by himitsu,
30. Okt 2016
Das sagte ich doch.
Menüs/PopupMenüs, SpeedButtons und Weitere erhalten keinen Fokus, also auch kein OnExit.
Selbes gilt auch für die SystemMenüs und Buttons der Form.
Und beim Schließen der Form wird leider auch kein OnExit ausgelöst, da das ausgelöst wird, wenn ein Anderes Control den Fokus bekommt, kurz vor dessen OnEnter.
Man könnte nur manuell im OnClose/OnCloseQuery und beim Ausführen...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by himitsu,
30. Okt 2016
OnExit wird ausgelöst, wenn der Fokus innerhalb der Form zu einem anderem Control wechselt.
Und das passiert auch dann, wenn man z.B. auf einen TSpeedButton drückt, welcher ebenfalls keinen Fokus bekommt.