AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komponenten in allen Forms ändern

Ein Thema von pstruh · begonnen am 20. Sep 2007 · letzter Beitrag vom 20. Sep 2007
Antwort Antwort
pstruh
(Gast)

n/a Beiträge
 
#1

Komponenten in allen Forms ändern

  Alt 20. Sep 2007, 20:06
Hallo Zusammen!
Nachdem der Anwender Farbeinstellungen im Konfigurations-Fenser meiner Anwendung verändert hat, sollen ausgewählte Komponenten in allen Forms der Anwendung sofort angepasst werden. Mit folgendem (beispielhaften) Code kann ich das innerhalb eines Fensters erledigen...

Delphi-Quellcode:
procedure TfoMain.SetAllColors;
var i : Integer;
begin
  for i:=0 to ComponentCount-1 do
    if Components[i] is TListbox then (Components[i] as TListBox).Color:=NewColor;
end;
Nun sollen aber ALLE Listboxen in ALLEN Forms der Anwendung auf diese bequeme Weise farblich angepasst werden. Versuche, dies mit folgendem Code zu erledigen, hatten keinen Erfolg...

Delphi-Quellcode:
procedure TfoMain.SetAllColors;
var i : Integer;
begin
  with Application do // << ZUSÄTZLICH
    for i:=0 to ComponentCount-1 do
      if Components[i] is TListbox then (Components[i] as TListBox).Color:=NewColor;
end;
Gibt es da eine Lösung?
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Komponenten in allen Forms ändern

  Alt 20. Sep 2007, 20:18
Hi,

so ganz grob durch die Forms der Application iterieren:
Delphi-Quellcode:
procedure TForm27.FormCreate(Sender: TObject);
Var
  fi: Integer;
  ci: Integer;
begin
  for fi := 0 to screen.FormCount - 1 do
    for ci := 0 to Screen.Forms[fi].ComponentCount - 1 do
      ...
end;
Cu, Frank
Frank Reim
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Komponenten in allen Forms ändern

  Alt 20. Sep 2007, 20:21
Ja die gibt es, sie ist sogar recht einfach:
Delphi-Quellcode:
procedure TfoMain.SetAllColors;
var i,f : Integer;
begin
  for f:=0 to Screen.FormCount-1 do begin
    for i:=0 to Screen.Forms[f].ComponentCount-1 do
      if Screen.Forms[f].Components[i] is TListbox then ( Screen.Forms[f].Components[i] as TListBox).Color:=NewColor;
    end;
  end;
Wenn du glück hast klappt das, habe ich jetzt nicht getestet, kann sein das er ein paar Fehler enhält...
ab
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
pstruh
(Gast)

n/a Beiträge
 
#4

Re: Komponenten in allen Forms ändern

  Alt 20. Sep 2007, 20:31
Joooo, genau so hatte ich es mir vorgestellt - nur an "Screen" habe ich dabei gar nicht gedacht und bei "Application" natürlich nix gefunden. Von der Wortung fände ich es dort logischer "aufgehoben". Aber, anyway, muss man sich halt merken! Vielen Dank für die schnellen Antworten!
Gruß aus Hamburg
  Mit Zitat antworten Zitat
pstruh
(Gast)

n/a Beiträge
 
#5

Re: Komponenten in allen Forms ändern

  Alt 20. Sep 2007, 20:50
Zur Vollständigkeit noch 'ne kurze Rückmeldung:

Delphi-Quellcode:
procedure TfoMain.SetAllColors;
var i,j : Integer;
begin
  with Screen do
    for i:=0 to FormCount-1 do
      for j:=0 to Forms[i].ComponentCount-1 do
        with Forms[i] do begin
          if Components[j] is TEdit then (Components[j] as TEdit).Color:=ReadModeColor;
          // ...
          // ..
          end;
end;
Funktioniert tadellos!
Gruß
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:03 Uhr.
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