Delphi-PRAXiS

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 GDIPlus mit Delphi 6 (https://www.delphipraxis.net/209353-gdiplus-mit-delphi-6-a.html)

ioster 25. Nov 2021 13:40

GDIPlus mit Delphi 6
 
Hallo,

ich habe ein altes Projekt unter Delphi 6, das der Anwender nun für Recherchezwecke auf einer aktuellen Serverumgebung reaktiviert hat.

Leider werden die Standardeingabeobjekte (TEdit, TMemo) mit einem schwarzen Hintergrund dargestellt, wenn die Objekte disabled sind.

In der Anwendung sind teilweise Komponenten von DevExpress (cxEdit, cxMemo) in Verwendung, die mit einer Library namens dxgdiplusclasses dieses Darstellungsproblem lösen.

Meine Frage: gibt es etwas Vergleichbares für die Borland-Komponenten?

Viele Grüße
Ingo

Bernhard Geyer 25. Nov 2021 13:45

AW: GDIPlus mit Delphi 6
 
Was spricht gegen ein Update auf eine neue Delphi-Version?

Einige (bei mir z.B. Crashes auf Multi-Sockel-Systemen) verschwanden mit einem neuen Delphi.

ioster 25. Nov 2021 13:52

AW: GDIPlus mit Delphi 6
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1498188)
Was spricht gegen ein Update auf eine neue Delphi-Version?

Einige (bei mir z.B. Crashes auf Multi-Sockel-Systemen) verschwanden mit einem neuen Delphi.

Dagegen spricht, dass ich das Programmkonzept schon auf Delphi 10.3 gebracht habe und das Programm seit fast einem Jahr auch läuft. Allerdings sollten die Bewegungsdaten aus diesem Vor-Vorgängersystem nicht übernommen werden, weil das alte Programm in einer VM lauffähig war. Das ging auch einige Zeit gut, bis dann die Hardware Probleme bereitete.

Die Anwendung läuft problemlos unter den aktuellen Betriebssystemen mit der Einschränkung, dass man eben nicht alles lesen kann, wenn man den Dialog nicht in den Bearbeitenmodus umschaltet.

HolgerX 25. Nov 2021 17:14

AW: GDIPlus mit Delphi 6
 
Hmm..

könnte es sein, dass auf dem Server einfach nur ein Schwarzes 'Themes' aktiviert wurde statt eines (alten) Grauen?
Unter D6 war es so, dass die Std. Hintergrundfarbe clWindow ist, und dies ist eine Windows definierte Farbe...

Im alten Windows Style ist dies Weiß..

ioster 26. Nov 2021 12:01

AW: GDIPlus mit Delphi 6
 
Zitat:

Zitat von HolgerX (Beitrag 1498207)
Hmm..

könnte es sein, dass auf dem Server einfach nur ein Schwarzes 'Themes' aktiviert wurde statt eines (alten) Grauen?
Unter D6 war es so, dass die Std. Hintergrundfarbe clWindow ist, und dies ist eine Windows definierte Farbe...

Im alten Windows Style ist dies Weiß..

Das ist ein guter Hinweis. Ich habe gerade in die Quellen geschaut und finde dort als Color clWindow. Die holt sich das Programm dann natürlich aus dem Windowseinstellungen. Nur, verwunderlich, warum mit der Einstellung clWindowText als Textfarbe es im Disabled-Zustand schwarzer Adler auf schwarzem Grund ist. In den Systemeinstellungen wird das sicherlich nicht hinterlegt sein.

Bei den DevExpress-Komponenten ist das über Styles abgrenzbar und dort habe ich clWhite für Disabled vorgefunden.

Ich werde sehen, ob ich die Standardkomponenten gegen DevExpress-Abwandlungen tausche, oder, ob ich die Color der Standardobjekte von clWindowText generell auf clWhite stelle. Letzteres ist vermutlich geringerer Aufwand, wenn ich im FormShow-Ereignis alle Objekte mit einer Routine durchgehe.

HolgerX 26. Nov 2021 12:39

AW: GDIPlus mit Delphi 6
 
Hmm..

Zitat:

Zitat von ioster (Beitrag 1498248)
Zitat:

Zitat von HolgerX (Beitrag 1498207)
Hmm..

könnte es sein, dass auf dem Server einfach nur ein Schwarzes 'Themes' aktiviert wurde statt eines (alten) Grauen?
Unter D6 war es so, dass die Std. Hintergrundfarbe clWindow ist, und dies ist eine Windows definierte Farbe...

Im alten Windows Style ist dies Weiß..

Das ist ein guter Hinweis. Ich habe gerade in die Quellen geschaut und finde dort als Color clWindow. Die holt sich das Programm dann natürlich aus dem Windowseinstellungen. Nur, verwunderlich, warum mit der Einstellung clWindowText als Textfarbe es im Disabled-Zustand schwarzer Adler auf schwarzem Grund ist. In den Systemeinstellungen wird das sicherlich nicht hinterlegt sein.

Bei den DevExpress-Komponenten ist das über Styles abgrenzbar und dort habe ich clWhite für Disabled vorgefunden.

Ich werde sehen, ob ich die Standardkomponenten gegen DevExpress-Abwandlungen tausche, oder, ob ich die Color der Standardobjekte von clWindowText generell auf clWhite stelle. Letzteres ist vermutlich geringerer Aufwand, wenn ich im FormShow-Ereignis alle Objekte mit einer Routine durchgehe.


Bedenke, wenn Du die Hintergrundfarbe auf eine feste Farbe änderst, dann auch die Textfarbe.
Und bedenke auch, das die bei Font angezeigte Farbe in den Objecteigenschaften die von 'Enabled=True' ist und für disabled eine andere genommen wird!

Rolf Frei 26. Nov 2021 16:57

AW: GDIPlus mit Delphi 6
 
Zitat:

Zitat von ioster (Beitrag 1498187)
Hallo,

ich habe ein altes Projekt unter Delphi 6, das der Anwender nun für Recherchezwecke auf einer aktuellen Serverumgebung reaktiviert hat.

Leider werden die Standardeingabeobjekte (TEdit, TMemo) mit einem schwarzen Hintergrund dargestellt, wenn die Objekte disabled sind.

In der Anwendung sind teilweise Komponenten von DevExpress (cxEdit, cxMemo) in Verwendung, die mit einer Library namens dxgdiplusclasses dieses Darstellungsproblem lösen.

Meine Frage: gibt es etwas Vergleichbares für die Borland-Komponenten?

Viele Grüße
Ingo

Ich vermute das ist ein Themesproblem. Themes machen mit neueren Windows Versionen bei D6 noch diverse Probleme. Selbst mit D7 lief nicht alles fehelerfrei. Da mussten einge kleinere Anpsssungen an der Delphi-Source vorgenommen werden. Wenn du also in deinem D6 Programm Themes aktiviert hast, würde ich diese per Manifest deaktivieren oder darauf achten, dass du dir dieses nicht irgendwo reinlinkst. So hast du wieder das alte Windows 2000 3D Design und hast keine Probleme mit den Themes.


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