Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   So beheben Sie den Farbeinstellungsbefehl für den aktiven Stil unter Windows (https://www.delphipraxis.net/211056-so-beheben-sie-den-farbeinstellungsbefehl-fuer-den-aktiven-stil-unter-windows.html)

Bernhard Geyer 23. Jul 2022 14:54

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

Zitat von himitsu (Beitrag 1509069)
* den problematischen alten Teil in DLL verschieben und dann den Rest auf Neu umstellen

Wenn es nicht austauschbar ist, dann würde ich das machen.
Wieso in 95% der Antworten auf sowas wie Generics, Unicode, lokale Variablendeklaratino verzichten, wenn man das auch in nur 5% muss

Zitat:

Zitat von himitsu (Beitrag 1509069)
Je länger man aber wartet, um so mehr bleibt man in der Sackgasse hängen und verläuft sich noch viel tiefer darin.
Bzw. hat immer mehr neuen Aufwand, um das Alte am Leben zu halten, je länger man wartet.
Der Umstieg wird also nur noch immer schwerer und schwerer ... vor allem wenn man immer mehr gefrickel einbaut ... das dann irgendwann aufzulösen macht bestimmt noch weniger Spaß.

Mit dem Umstieg (D6->XE6, dann leichter XE6->10.2, jetzt 10.4) konnten wir auch wieder einige Woraround und Komponenten ausbauen.
EmbeddedWB war mit aktuellen Delphis nicht mehr nötig und jetzt fliegt auch IE-Nutzung raus und Edge kommt rein.
Ebenfalls eine Bibliotheken konnten entsorgt werden, da jetzt Delphi alles mitbringt (z.B. PNG)
Auch ein Workaround wegen Abstürzen auf Multi-Sockelsystemen (gerne auf TerminalServices/Citrix-Umfeld zu finden) konnte ins nil-Device verschoben werden.

Bernhard Geyer 23. Jul 2022 14:56

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

Zitat von KodeZwerg (Beitrag 1509102)
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.

neumimnemecky 30. Jul 2022 10:34

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

Zitat von Rolf Frei (Beitrag 1509075)
Zitat:

Zitat von KodeZwerg (Beitrag 1509038)
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

QuickAndDirty 1. Aug 2022 14:33

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

Zitat von neumimnemecky (Beitrag 1509021)
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?

Ich glaube die Systemfarbcodes sind in der Graphics unit in Delphi7
Code:
Buffer.Canvas.Brush.Color := clWindow
clwindow ist die standard Fensterfarbe des aktiven Windows Theme.

Noch eine Sache.
Lazarus ist zu Delphi7-code recht kompatibel bzw. kann deutlich mehr.
Es ist eine gute Plattform um Legacy Delphi 7 Projeke zu pflegen ohne sie großartig weiter zu entwickeln.

Mit dem festhalten an Delphi7 tust Du Dir keinen gefallen.
Was du hier massiv aufgebaut hast nennt man "Technical Debt". Und die "Zinsen" die du dafür zahlst diese Schulden nicht zu zahlen werden immer größer. Das projekt wird sich immer aufwändiger verändern und am laufen halten. Du wirst für kleinste Änderungen Tagelang in Foren nach Lösungen suchen müssen oder Lösungen selber entwickeln müssen für die es fertigen Kode gäbe hättest du dein Projekt nur mal auf einen aktuellen stand gebracht!
Tatsache ist das Profis sich so einen Rückstand eher leisten können als Hobbyisten, denn Profis können ein Projekt das mal eine Cashcow war und gemolken wurde bis zum geht nicht mehr auch einfach unter Wirtschaftlichkeits aspekten sterben lassen.
Du willst aber vermutlich nicht neu anfangen?

Rolf Frei 2. Aug 2022 14:37

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

Zitat von neumimnemecky (Beitrag 1509506)
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;

himitsu 2. Aug 2022 16:13

AW: So beheben Sie den Farbeinstellungsbefehl für den aktiven Stil unter Windows
 
Naja, wenn man die aktuelle Farbe des aktuellen Styles haben will, dann brauchte man es.
clWindow ist ja die Standardfensterhintergrundfarbe, wie sie im aktuellen Windows ist.

Gausi 2. Aug 2022 17:19

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

Zitat von himitsu (Beitrag 1509671)
Naja, wenn man die aktuelle Farbe des aktuellen Styles haben will, dann brauchte man es.

Das mag ja sein, aber hat man überhaupt einen aktuellen Style, wenn man Delphi 7 nutzt?

Rolf Frei 3. Aug 2022 12:12

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

Zitat von himitsu (Beitrag 1509671)
Naja, wenn man die aktuelle Farbe des aktuellen Styles haben will, dann brauchte man es.
clWindow ist ja die Standardfensterhintergrundfarbe, wie sie im aktuellen Windows ist.

Er nutzt Delphi 7 und da ist das genau richtig so, da diese Farbe dem aktuellen Windows Theme entspricht. Die Delphi eigenen Styles gibt es nicht und braucht er auch garnicht. In D7 gibt Windows das Theme vor und nicht Delphi und das ist auch gut so, da sich so das Programm automatisch mit dem OS optisch weiterentwickelt, ohne dass man etwas neu kompilieren muss. Delphi Style Anwendungen sehen irgendwann veraltet aus, da die immer gleich aussehen werden und sich nicht an das OS anpassen. Das ist einer der Gründe, wieso ich keine Delphi Styles nutze. Wenn ich etwas hasse, dann sind as GUI's, die für jedes Programm irgendwie ungewohnt und fremdartig aussehen und sich nicht and die Optik des OS halten.

Uwe Raabe 3. Aug 2022 14:34

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

Zitat von Rolf Frei (Beitrag 1509691)
Wenn ich etwas hasse, dann sind as GUI's, die für jedes Programm irgendwie ungewohnt und fremdartig aussehen und sich nicht and die Optik des OS halten.

Manchmal ist das aber genau so gewünscht bzw. notwendig (z.B: Maschinensteuerung oder Corporate Identity). Das soll dann unter Windows, MacOS, Linux usw. immer gleich aussehen. Wir hatten das auch gerade kürzlich in der Englischen DP diskutiert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:30 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