AGB  ·  Datenschutz  ·  Impressum  







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

VCL Controls Erscheinungsbild bei per Monitor V2

Ein Thema von THonscha · begonnen am 12. Mai 2021 · letzter Beitrag vom 24. Mai 2021
Antwort Antwort
Seite 3 von 4     123 4      
THonscha

Registriert seit: 22. Aug 2006
36 Beiträge
 
#21

AW: VCL Controls Erscheinungsbild bei per Monitor V2

  Alt 12. Mai 2021, 21:53
Ich denk das ist ein Bug in VCL.Buttons.pas (in D10.4.1/2).
This change in VCL.Buttons.pas should fix that.

// LStyle.DrawText(DC, FThemeDetails, Text, TextRect, LFormats, LOptions); //according RSP-30755 (minor subfix) - fix Bitbtn and SpeedButton background color error in win7
LStyle.DrawText(DC, FThemeDetails, Text, TextRect, LFormats, LColor); //according RSP-30755 (minor subfix) - fix Bitbtn and SpeedButton background color error in win7
Hier der genaue/komplette Grund für die unterschieldiche Darstellung:
Delphi-Quellcode:
    if CheckPerMonitorV2SupportForWindow(Handle) then
      PPI := FCurrentPPI
    else
      PPI := 0;

    LStyle.DrawElement(Canvas.Handle, Details, R, nil, PPI);



Aber der eigentliche Grund ist natürlich, das DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 erst mit Windows 10 erfunden wurde und Windows 7 das nicht kennen kann.

Lösung: Wenn Programm in Windows < 10 ausgeführt, dann kein PerMonitorV2 verwenden
Danke Dir - werde ich morgen einbauen!
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#22

AW: VCL Controls Erscheinungsbild bei per Monitor V2

  Alt 12. Mai 2021, 23:12
Hier der genaue/komplette Grund für die unterschieldiche Darstellung:
Delphi-Quellcode:
    if CheckPerMonitorV2SupportForWindow(Handle) then
      PPI := FCurrentPPI
    else
      PPI := 0;

    LStyle.DrawElement(Canvas.Handle, Details, R, nil, PPI);


Aber der eigentliche Grund ist natürlich, das DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 erst mit Windows 10 erfunden wurde und Windows 7 das nicht kennen kann.

Lösung: Wenn Programm in Windows < 10 ausgeführt, dann kein PerMonitorV2 verwenden
Ist das ein Bug in Delphi?
Falls ja, ist der schon gemeldet?
Falls nein, könnte den jemand der sich besser damit auskenn als ich melden?

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: VCL Controls Erscheinungsbild bei per Monitor V2

  Alt 12. Mai 2021, 23:54
Das ist an 2 Stellen so eingebaut.
Denke mal jemand hat sich etwas dabei gedacht, als diese Komponente so kunterbunt umgebaut wurde.

Nja, aber ich vermute einfach Mal, dass es nicht mehr mit Windows 7 getestet wurde.
$2B or not $2B
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#24

AW: VCL Controls Erscheinungsbild bei per Monitor V2

  Alt 13. Mai 2021, 10:01
Ist das nun ein Bug in der VCL oder nicht?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: VCL Controls Erscheinungsbild bei per Monitor V2

  Alt 13. Mai 2021, 11:40
Wenn du das meldest, geht der Status bestimmt auf "das ist halt so"

Der Bug "geht halt nicht", in aktuelle lebenden Windowsen, ist ja nicht existent.
$2B or not $2B
  Mit Zitat antworten Zitat
THonscha

Registriert seit: 22. Aug 2006
36 Beiträge
 
#26

AW: VCL Controls Erscheinungsbild bei per Monitor V2

  Alt 22. Mai 2021, 09:28
Jetzt weiß ich, warum der Patch bei mir nicht läuft Ich habe die VCL nicht neu kompiliert... geht das irgendwie einfach?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#27

AW: VCL Controls Erscheinungsbild bei per Monitor V2

  Alt 22. Mai 2021, 10:00
Ich habe die VCL nicht neu kompiliert
Man compiliert nicht einfach die VCL!
Miniaturansicht angehängter Grafiken
5aivh3.jpg  
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
THonscha

Registriert seit: 22. Aug 2006
36 Beiträge
 
#28

AW: VCL Controls Erscheinungsbild bei per Monitor V2

  Alt 22. Mai 2021, 14:25
Ich habe die VCL nicht neu kompiliert
Man compiliert nicht einfach die VCL!
Ok - habe die geänderte Datei in das Verzeichnis meines Programmes geschoben und nun funktioniert auch der Patch und löst das Problem.

Vielleicht wird der Fehler ja in einer der nächsten Versionen behoben. Ich habe zumindest den Bug gemeldet.
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

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

AW: VCL Controls Erscheinungsbild bei per Monitor V2

  Alt 23. Mai 2021, 18:58
Ich möchte nur noch ergänzen, dass der Windows-7-Support per ESU erst am 23.10.2023 bzw. 14.10.2024 endet. Erst danach ist es wirlich ganz ganz tot. Trotzdem solltest du dir den Aufwand, für Win 7 zu testen gut bezahlen lassen.
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
THonscha

Registriert seit: 22. Aug 2006
36 Beiträge
 
#30

AW: VCL Controls Erscheinungsbild bei per Monitor V2

  Alt 24. Mai 2021, 22:00
Das ist richtig ... aus diesem Grunde sollte ein Programm auch noch auf WIN 7 laufen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 03:12 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