AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Hintergrundfarbe einer Unit über einen andere Unit ändern
Thema durchsuchen
Ansicht
Themen-Optionen

Hintergrundfarbe einer Unit über einen andere Unit ändern

Ein Thema von Luca Haas · begonnen am 25. Aug 2017 · letzter Beitrag vom 29. Aug 2017
Antwort Antwort
Luca Haas

Registriert seit: 23. Aug 2017
Ort: Bad Breisig
139 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Hintergrundfarbe einer Unit über einen andere Unit ändern

  Alt 25. Aug 2017, 12:56
Hallo Leute,
ich hoffe ich habe das richtige Forum erwischt.

Und zwar ist meine Frage, wie ich die Hintergrundfarbe, der Units, meines Projektes, alle gleichzeitig über einen Button ändern kann.
Wie ich eine Unit, auf der der Button ist ändere weiß ich, allerdings weiß ich nicht wie mit einem Button alle Units ändern kann.

Hoffe mir kann jemand helfen

Grüße Luca
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.623 Beiträge
 
Delphi 12 Athens
 
#2

AW: Hintergrundfarbe einer Unit über einen andere Unit ändern

  Alt 25. Aug 2017, 13:02
Hallo und Willkommen in der DP ,

über alle Forms (nicht Units) Deines Projekts kannst Du mit TScreen.Forms bzw. TScreen.FormCount iterieren.
Delphi-Quellcode:
for i := 0 to Screen.FormCount - 1 do
  begin
    TheForm := Screen.Forms[i];
    MachWasMitTheForm;
  end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Hintergrundfarbe einer Unit über einen andere Unit ändern

  Alt 25. Aug 2017, 15:52
über alle Forms (nicht Units) Deines Projekts kannst Du mit TScreen.Forms bzw. TScreen.FormCount iterieren.
Na komm, ein var hättest du ruhig mitgeben können. Das machts für den Einstieg einfacher ^^
Delphi-Quellcode:
var
  i: Integer;
  TheForm: TForm;
begin
  for i := 0 to Screen.FormCount - 1 do
  begin
    TheForm := Screen.Forms[i];
    TheForm.MachWas;
  end;
end;
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#4

AW: Hintergrundfarbe einer Unit über einen andere Unit ändern

  Alt 25. Aug 2017, 20:00
Farbe einer Unit?

Oder meinst du nicht etwa Form.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.051 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Hintergrundfarbe einer Unit über einen andere Unit ändern

  Alt 26. Aug 2017, 23:47
Oder mit foreach-Schleife:
Delphi-Quellcode:
var
  Form: TForm;
begin
  for Form in Screen.Forms do
  Form.Color := clGreen;
end;
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Luca Haas

Registriert seit: 23. Aug 2017
Ort: Bad Breisig
139 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: Hintergrundfarbe einer Unit über einen andere Unit ändern

  Alt 29. Aug 2017, 14:14
Danke der Hilfe, aber ich habe es mithilfe der Trial and Error Methode irgendwann selbst herausgefunden, da ich total vergessen hatte, dass ich diesen Thread gestartet habe.

Ich meinte natürlich, dass ich meine Form verfärben wollte, was ich mit
Code:
procedure TForm1.Button5Click(Sender: TObject);
begin
  Unit1.Form1.Color := clFarbe;
end;
geschafft habe.

Nochmals danke für die Hilfe, ich hoffe beim nächsten mal vergesse ich nicht das ich hier ne Frage reingestellt habe und kann euch helfen, mir zu helfen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.623 Beiträge
 
Delphi 12 Athens
 
#7

AW: Hintergrundfarbe einer Unit über einen andere Unit ändern

  Alt 29. Aug 2017, 14:21
Du bist ja wahrscheinlich in Unit1 (ein kleiner Rat: die Standardbenennungen immer sofort in etwas Sinnvolles ändern), da genügt dann auch ein einfaches
Color := clRed; oder auch (für das bessere Verständnis)
self.Color := clRed; Es ist im Allgemeinen keine gute Idee, aus einer Methode heraus auf eine benannte Instanzvariable der eigenen Klasse zuzugreifen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Luca Haas

Registriert seit: 23. Aug 2017
Ort: Bad Breisig
139 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

AW: Hintergrundfarbe einer Unit über einen andere Unit ändern

  Alt 29. Aug 2017, 14:33
Ja habe ich alles auch so gemacht, dachte nur ich schreibe es Allgemeiner hier rein, dass es alle verstehen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#9

AW: Hintergrundfarbe einer Unit über einen andere Unit ändern

  Alt 29. Aug 2017, 17:24
Zitat:
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
begin
  Unit1.Form1.Color := clFarbe;
end;
Ist dennoch höchst problematisch.

Wenn es von Form1 mehrere Instanzen gibt, oder wenn die Form nicht automatisch erzeugt wurde (die Instanz nicht in der globalen Variable gespeichter wurde),
dann kann Unit1.Form1 sonstwas sein, nur nicht die Form selber (Self). Im Schlimmsten Fall ein NIL oder gar ein ungültiger Zeiger.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  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 23:18 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