Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#1

TRadioGroup klickt falsch

  Alt 30. Jan 2007, 07:10
Hallo alle,

ich habe von TRadioGroup eine datenbanksensitive Komponente abgeleitet, die Daten aus einer Datenbank anzeigen und ändern kann (jeweils durch Auswählen eines Eintrages).
Auch "Übersetzungen" sind möglich, also kann kann man festlegen, dass z.B. der Eintrag "grün" aus der Box dem Wert "g" in der Datenbank entspricht etc.
Das funktioniert soweit wunderbar

Das Problem ist die Methode Click.
Wenn meine Kompo den Fokus hat und das übergeordnete Formular geschlossen und später wieder geöffnet wird, wird das Click-Ereignis ausgeführt (wodurch meine Kompo den aktuell selktierten Eintrag in die Datenbank schreibt). Das kann aber nach einem Datensatzwechsel ein ungültiger Eintrag sein
Ich behelfe mir vorläufig damit, dass ich beim Öffnen des Formulars (OnActivate) einer anderen Komponente den Fokus übergebe. Das ist natürlich noch keine allgemeingültige Lösung des Problems.

Letztlich wird der falsche RadioGroup-Click beim Anzeigen des Formulars durch die Methode UpdateButtons aufgerufen (was ich tatsächlich ziemlich unnsinnig finde, da ja hier niemand etwas anklickt). Diese und die damit zusammenhängenden Methoden lassen sich aber nicht überschreiben, so dass ich darauf nicht gesondert reagieren kann. Ich möchte auch gern vermeiden, die komplette Unit ExtCtrls neu zu erfinden...

Kann ich also innerhalb meiner Kompo irgendwie erkennen, dass das Formular, in dem sich diese befindet, geschlossen oder geöffnet wird? Kann man dazu ein Ereignis abfragen?
Paint, Update und Refresh funktionieren nicht, da Click bereits vorher aufgerufen wird.


Danke
Stahli
  Mit Zitat antworten Zitat