Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Eigenschaften unterschiedlicher Objekte ändern (https://www.delphipraxis.net/121930-eigenschaften-unterschiedlicher-objekte-aendern.html)

WIng2005 7. Okt 2008 13:49

Re: Eigenschaften unterschiedlicher Objekte ändern
 
Vielen Dank.....

MFG
Steffen

WIng2005 1. Apr 2009 11:01

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:
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;
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.

Vielen Dank für jeden Hinweis...


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:34 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz