Hallo liebe Interessenten,
als Neuling stoße ich immer wieder auf kleine Hürden und Hindernisse, so auch diesmal. Ich habe ein Panel mit verschiedenen Elementen: TLabel, TDBEdit, TAdvDBCalcEdit, TDBMemo etc. nun wird (Wohl aufgrund eines Bugs) bei den Eingabeelementen das Attribut ctl3D nicht mit erzeugt sodass ich es dynamisch nacharbeiten will.
Wenn die Form erzeugt wird möchte ich, dass alle TDBEdits & Co. im Panel cdtl3D = true bekommen:
Delphi-Quellcode:
for i := 0 to TWinControl(grb_attribute).ControlCount-1 do
if TWinControl(grb_attribute).Controls[i] is TDBEdit then
(TWinControl(grb_attribute).Controls[i] as TDBEdit).ctl3d := true;
Die TDBEdits werden nun erfolgreich verarbeitet, möchte ich jedoch auch die anderen Elemente berücksichtigen wird die If-Abfrage schnell lang und unübersichtlich!
Meine Frage ist: Gibt es nicht eine leichte Möglichkeit zu sagen: "Hey, wenn du als Element (TWinControl(grb_attribute).Controls[i]) das Attribut ctl3d besitzt, dann schalte es auf true!?
Alternativ habe ich auch an so etwas gedacht:
Delphi-Quellcode:
for i := 0 to TWinControl(grb_attribute).ControlCount-1 do
if not (TWinControl(grb_attribute).Controls[i] is TLabel) then
TWinControl(grb_attribute).Controls[i].ctl3d := true;
... doch leider funktioniert dies nicht, da dass TwinControl undeklariert kein ctl3d Attribut besitzt.
Wenn mir jemand einen Schubs in die richtige Richtung geben könnte, wäre ich sehr verbunden!
Gruß