AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language For + panel + Controlcount = .ctl3d? OOP und das Problem der Deklaration
Thema durchsuchen
Ansicht
Themen-Optionen

For + panel + Controlcount = .ctl3d? OOP und das Problem der Deklaration

Ein Thema von LoewenZahn · begonnen am 5. Nov 2013 · letzter Beitrag vom 6. Nov 2013
 
Benutzerbild von LoewenZahn
LoewenZahn

Registriert seit: 10. Okt 2013
22 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

For + panel + Controlcount = .ctl3d? OOP und das Problem der Deklaration

  Alt 5. Nov 2013, 14:28
Delphi-Version: 2007
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ß
Tim
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:01 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