![]() |
Klick auf TRadioGroup zur Laufzeit erzeugen
Hallo,
ich habe ein Formular mit mehreren Komponenten (TEdit, TButton, TCheckBox, TRadioGroup, ...). Wenn der Nutzer die Eingabe in einem Edit-Feld beendet hat und z.B. auf eine andere Komponente klickt, werte ich im OnExit-Ereignis die Eingabe aus und verlange ggf. in einem zur Laufzeit erzeugtem Formular noch eine ergänzende Eingabe. Nach dieser zusätzlichen Eingabe hat aber die Edit-Komponente wieder den Focus. Ich möchte aber, dass nach der zusätzlichen Eingabe, der vorher getätigte Klick unmittelbar ausgeführt wird. dazu verwende ich folgenden Code:
Delphi-Quellcode:
Es funktioniert mit allen Komponenten, außer TRadioGroup!?
procedure TFmEdit_PrSch.EditVkExit(Sender: TObject);
var ac : TControl; begin ac := ActiveControl; EditVk.Text := FormatVk(EditVk.Text); if ChangeMod and (Artikel <> nil) then SaveArtikelDaten; // hier erfolgt ggf. die Zusatzabfrage TWinControl(ac).SetFocus; if ac is TButton then TButton(ac).OnClick(ac) else if ac is TCheckBox then TCheckBox(ac).OnClick(ac) // else // if ac is TGroupButton then // TGroupButton(ac).OnClick(nil); end; Der Classname von ActiveControl ist nach einem Klick auf die TRadioGroup-Komponente: TGroupButton. TGroupButton ist aber in der Unit ExtCtrls nicht im Interface-Teil deklariert, deshalb im Code auskommentiert. Irgendwie stehe ich da z.Z. auf dem Schlauch und weiß im Moment nicht wie ich da runter komme. Hat jemand eine Idee? Wie kann ich den Klick auf die Radiokomponete ausführen? Ich hoffe ihr könnt mir auch diesmal helfen. Gruß Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz