Einzelnen Beitrag anzeigen

Rolf Frei

Registriert seit: 19. Jun 2006
430 Beiträge
 
Delphi 10.3 Rio
 
#34

AW: Objekt im onCreate erzeugen, aber wie?

  Alt 19. Jul 2021, 12:15
Hallo,
Mir ein bißchen Arbeit sparen.
Ich brauche ein TLabel, sagen wir:
Geburtsdatum
und rechts daneben, die Combobox. Das soll, wenn wir es zum Laufen kriegen, dann auch für die Kombi
TLabel mit TEdit
gehen.
Bislang hab ich halt, ganz normal ein TLabel erzeugt, beschriftet, dann das TEdit erzeugt. Da mein Projekt aber ziemlich viele solcher Felder hat dachte ich, ich könnte es vereinfachen. Daher hab ich der Combobox, meinetwegen auch dem TEdit, eine Caption mitgegeben, die dann aber das zugehörige Label kriegen soll.
Das sollte es werden.
Vielleicht ist ja mein ganzer Ansatz quatsch?

Herzlich grüßt
Moo
Dein Ansatz ist schon ok aber halt nicht ganz so simpel wie du vieleicht meinst. Dein Problem, das du nun noch hast, ist die Beschriftung des Labels, wenn du alles andere von mir gepostete implentiert hast. Dazu kannst du z.B. die Change oder Select Methode überchreiben. Das musst du selber testen, was dir da besser passt. Eventuell soll das Label auch erst beim Exit geändert werden, dazu gäbe es auch eine Methode.
Delphi-Quellcode:
TMsDatumCombo= class(TCombobox)
...
protected
  procedure Select; override;
...
end;

procedure TMsDatumCombo.Select;
begin
  inherited;
  FLabel.Caption := Text; // Hier kannst du den Labeltext setzen, je nach dem was ausgewählt wurde.
                          // Text ist der aktuell selektierte Eintrag in der Combo.
end;
Schau dir die doch bitte auch die Sourcen zu TCombobox und TEdit und deren Vorfahren an. Alles was da als Virtual oder Dynasmic deklariert ist, kannst du in einer abgeleiteten Komponente überschreiben und erweitern.

Geändert von Rolf Frei (19. Jul 2021 um 13:43 Uhr)
  Mit Zitat antworten Zitat