![]() |
Re: Eigenschaften unterschiedlicher Objekte ändern
Vielen Dank.....
MFG Steffen |
Re: Eigenschaften unterschiedlicher Objekte ändern
Hallo,
ich muss den Thread nocheinmal aufgreifen: ich möchte nun unabhängig vom Komponententyp prüfen, ob dieser die Eigenschaft "color" besitzt und wenn, diese dann prüfen, ob diese einen bestimmten Farbwert hat. Hintergrund: Ich möchte zur Laufzeit die "Grundfarbe" meiner Anwednung ändern. Hierzu wollte ich alle Komponenten durchgehen und prüfen, ob diese clbtnface als Farbwert haben. Wenn ja, soll dieser entsprechend geändert werden. Meine Ansätze bisher sind:
Delphi-Quellcode:
Leider funktioniert diese Version nicht mit allen Komponenten der Form, sodass z.B PagesControls, Panels, Buttons usw. nicht berücksichtigt werden. Labels und Edits hingegebn werden berücksichtigt. Auch ist mir nicht ganz klar, wie ich neben dem Vorhandensein auch den Wert der Eigenschaft abfragen kann. Die Anpassung sollte hierbei in der set_color erfolgen.
Procedure set_color(form:TForm);
var i:integer; PropInfo: PPropInfo; test:string; Begin for i := 0 to form.ComponentCount - 1 do Begin PropInfo := GetPropInfo((form.Components [i]).ClassInfo, 'color'); if Assigned(PropInfo) then MySetPropertyColor((form.Components [i]),'color',clred); end //for end; procedure MySetPropertyColor(Component: TComponent; const PropName: String; const Value: integer); var PropInfo: PPropInfo; begin if (Component <> nil) then begin PropInfo := GetPropInfo(Component.ClassInfo, PropName); if (PropInfo <> nil) then begin if (PropInfo^.PropType^.Kind in [tkInteger]) then SetordProp(Component, PropInfo, Value); end; end; end; Vielen Dank für jeden Hinweis... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17: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