AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign So beheben Sie den Farbeinstellungsbefehl für den aktiven Stil unter Windows
Thema durchsuchen
Ansicht
Themen-Optionen

So beheben Sie den Farbeinstellungsbefehl für den aktiven Stil unter Windows

Ein Thema von neumimnemecky · begonnen am 21. Jul 2022 · letzter Beitrag vom 3. Aug 2022
Antwort Antwort
Seite 1 von 3  1 23      
neumimnemecky

Registriert seit: 21. Dez 2018
45 Beiträge
 
#1

AW: So beheben Sie den Farbeinstellungsbefehl für den aktiven Stil unter Windows

  Alt 21. Jul 2022, 23:26
So beheben Sie den Farbeinstellungsbefehl für den aktiven Stil unter Windows:
Code:
Buffer.Canvas.Brush.Color := TStyleManager.ActiveStyle.GetStyleColor (scWindow);
um es auf Delphi 7 nutzbar zu machen?
Upgrade auf eine Delphi Version die Styles supported.
Es ist unmöglich. Nicht realisierbar. In jeder Beziehung.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.233 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: So beheben Sie den Farbeinstellungsbefehl für den aktiven Stil unter Windows

  Alt 22. Jul 2022, 07:01
Es ist unmöglich. Nicht realisierbar. In jeder Beziehung.
Dann musst du u.U. damit leben das deine Frage nicht beantwortbar ist, da
- Immer weniger solche uralte Delphi-Versionen nutzen
- Immer weniger Lust haben für solche uralte Delphi-Versionen Lebenszeit zu investieren um anderen zu helfen, wenn das Problem mit neuen Versionen gar nicht mehr existiert.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
915 Beiträge
 
Delphi 12 Athens
 
#3

AW: So beheben Sie den Farbeinstellungsbefehl für den aktiven Stil unter Windows

  Alt 22. Jul 2022, 07:19
Da es unter Delphi 7 keine Styles gibt, und somit das Fenster eh immer im Windows-Standard gezeichnet wird, würde an der Stelle nicht etwas wie Buffer.Canvas.Brush.Color := clWindow; das machen, was möglicherweise gewollt ist?
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: So beheben Sie den Farbeinstellungsbefehl für den aktiven Stil unter Windows

  Alt 22. Jul 2022, 08:45
TStyleManager.ActiveStyle.GetStyleColor holt sich nun mal über Vcl.Themes die Informationen, da es das unter Delphi 7 nicht gibt, gibt es auch keine Alternative.
Es ist wie "Wie kann ich mit Delphi 7 für Linux kompilieren, FMX erstellen etc..." es ist technisch nicht machbar.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
neumimnemecky

Registriert seit: 21. Dez 2018
45 Beiträge
 
#5

AW: So beheben Sie den Farbeinstellungsbefehl für den aktiven Stil unter Windows

  Alt 22. Jul 2022, 13:01
TStyleManager.ActiveStyle.GetStyleColor holt sich nun mal über Vcl.Themes die Informationen, da es das unter Delphi 7 nicht gibt, gibt es auch keine Alternative.
Es ist wie "Wie kann ich mit Delphi 7 für Linux kompilieren, FMX erstellen etc..." es ist technisch nicht machbar.
Vielen Dank. Es ist in Ordnung. Genauso wie es für mich "technisch" nicht machbar ist, ein Upgrade durchzuführen. Ich bin es gewohnt, mich zu bescheiden. Jeder handelt im Rahmen seiner Möglichkeiten.

Geändert von neumimnemecky (22. Jul 2022 um 13:13 Uhr)
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
656 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: So beheben Sie den Farbeinstellungsbefehl für den aktiven Stil unter Windows

  Alt 22. Jul 2022, 15:37
TStyleManager.ActiveStyle.GetStyleColor holt sich nun mal über Vcl.Themes die Informationen, da es das unter Delphi 7 nicht gibt, gibt es auch keine Alternative.
Es ist wie "Wie kann ich mit Delphi 7 für Linux kompilieren, FMX erstellen etc..." es ist technisch nicht machbar.
Das ist aber schlicht falsch und nicht wahr. D7 hat seit Windows XP Theme Support und damit kann man das auch machen, nur halt ohne die Delphi Styles, da diese viel Später gekommen sind, aber das ist wohl auch garnicht sein Wunsch. Er will nur wissen, wie man diesen Code für D7 anpasst und da gibt es eben die ThemeServices in D7, die im Prinzip das Selbe machen, nur halt für die Windows Themes und nicht die neueren Delphi Themes (Styles). Auch da gibt ees API Aufrufe die die Farben des aktiven Themes liefern. Es spricht nichts dagegen, dass er diese nutzen kann. Die Frage ist eben nur, ob er er das überhaupt braucht und nicht einfach das ganze Painting Windows machen lassen kann. Anahand seine Einzelziel sehen wir ja leider nicht wo er das genau her hat.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: So beheben Sie den Farbeinstellungsbefehl für den aktiven Stil unter Windows

  Alt 22. Jul 2022, 20:41
Okay, ich entschuldige mich für meine falsche Aussage, mit genug Man-Power kommt man irgendwie an ein Ziel.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.233 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: So beheben Sie den Farbeinstellungsbefehl für den aktiven Stil unter Windows

  Alt 23. Jul 2022, 14:56
Okay, ich entschuldige mich für meine falsche Aussage, mit genug Man-Power kommt man irgendwie an ein Ziel.
Du musst aber dagegen rechnen wie viel Manpower du mehr benötigt, um das System mit D6/7../2007 am leben zu halten.
Ich würde sicherlich nicht mehr zu ein Arbeitsstelle welchseln die bei einem solch alten IDE-Version bleiben will.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
neumimnemecky

Registriert seit: 21. Dez 2018
45 Beiträge
 
#9

AW: So beheben Sie den Farbeinstellungsbefehl für den aktiven Stil unter Windows

  Alt 30. Jul 2022, 10:34
TStyleManager.ActiveStyle.GetStyleColor holt sich nun mal über Vcl.Themes die Informationen, da es das unter Delphi 7 nicht gibt, gibt es auch keine Alternative.
Es ist wie "Wie kann ich mit Delphi 7 für Linux kompilieren, FMX erstellen etc..." es ist technisch nicht machbar.
Das ist aber schlicht falsch und nicht wahr. D7 hat seit Windows XP Theme Support und damit kann man das auch machen, nur halt ohne die Delphi Styles, da diese viel Später gekommen sind, aber das ist wohl auch garnicht sein Wunsch. Er will nur wissen, wie man diesen Code für D7 anpasst und da gibt es eben die ThemeServices in D7, die im Prinzip das Selbe machen, nur halt für die Windows Themes und nicht die neueren Delphi Themes (Styles). Auch da gibt ees API Aufrufe die die Farben des aktiven Themes liefern. Es spricht nichts dagegen, dass er diese nutzen kann. Die Frage ist eben nur, ob er er das überhaupt braucht und nicht einfach das ganze Painting Windows machen lassen kann. Anahand seine Einzelziel sehen wir ja leider nicht wo er das genau her hat.
Code von dieser Seite. Ich kann den Link nicht finden. Ich habe diesen Code gefunden und wollte ihn testen. Der Thread sprach über das Flackern beim Rendern einer Spike-Wave einer Audiodatei. Ich heile, ich bin mit Antworten verspätet.
https://www.delphipraxis.net/176705-...cl-styles.html

Geändert von neumimnemecky (30. Jul 2022 um 10:38 Uhr)
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
656 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: So beheben Sie den Farbeinstellungsbefehl für den aktiven Stil unter Windows

  Alt 2. Aug 2022, 14:37
Code von dieser Seite. Ich kann den Link nicht finden. Ich habe diesen Code gefunden und wollte ihn testen. Der Thread sprach über das Flackern beim Rendern einer Spike-Wave einer Audiodatei. Ich heile, ich bin mit Antworten verspätet.
https://www.delphipraxis.net/176705-...cl-styles.html
Wenn du dich da auf folgenden Code beziehst, kannst du einfach die Farbe clWindow nutzen und den ganzen TStyleManager Krams weglassen.
Delphi-Quellcode:
procedure TForm1.DrawSpectrum;
begin
  // clear background
  // Buffer.Canvas.Brush.Color := TStyleManager.ActiveStyle.GetStyleColor (scWindow);
  Buffer.Canvas.Brush.Color := clWindow;
  Buffer.Canvas.FillRect(Rect(0, 0, Buffer.Width, Buffer.Height));

  // Rest wie gehabt
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 18:54 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