Sur le forum Anglais il ma été relaté que ma table pouvais souffrir d'un problème de DPI. Comme ceci
Le problème est que même si je change l’échelle de mon affichage, je n'arrive pas reproduire l'erreur. Cela vient du dimensionnement de mon image je penses.
Dans mon cas j'ai deux moniteurs,
1920 x 1080 150% et
1366 x 768 100%
Je n'ai pas encore eu de problème de DPI (mon écran et trop petit) mais essaye de sélectionner l'écran FullHD (1080p) comme écran principal. Ça te permettra peut être de pouvoir reproduire le problème.
C'est curieux, car chez moi avec mon écran 2560 x 1080 à 100%, ça a tendance à agrandir les fenêtres et images, tandis qu'avec celui de 1920 x 1080 100% aussi, ça ne modifie rien du tout, j'ai fait une petite routine :
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
J'ai le même "soucis" que ton screen plus haut, il faut que tu actives dans tes options de compilation "Activer le facteur d'échelle d'affichage DPI"
il faut surement que tu joue avec DesktopScaledX() & DesktopScaledY() pour une mise à l'échelle correct. j'ai essayer de regarder ton code, j'ai abandonné
Avec l'exemple que j'ai donné, il ne faut pas oublier de diviser les dimensions des différents gadgets par Coeff_L pour les largeurs et par Coeff_H pour les hauteurs, par exemple:
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Enumeration
#WIN
#CANV
EndEnumeration
Global DP.d = DesktopResolutionX()
Debug "Facteur de zoom : " + DP
; DP.d = 1.25
;Debug "Facteur de zoom : 1.25"
Structure DPIconv
ID.i
W.i
H.i
EndStructure
Global NewList IDE.DPIconv()
; Macros pour simplifier l'ajout des valeurs dans la liste structurée
Macro AddTOOL(nID,Nw,Nh)
AddElement ( IDE.DPIconv() )
IDE()\ID = nID
IDE()\W = Nw/DP
IDE()\H = Nh/DP
EndMacro
; Macro pour simplifier la selection de l'élément dans la liste structurée
Macro Sel(Tool)
SelectElement (IDE(),Tool)
EndMacro
; AJOUT des valeurs et conversion pour tous les éléments de votre GUI
AddTOOL(#WIN,200,200) ; Windows
AddTOOL(#CAN,198,198) ; Canvas
; (.... etc)
Sel(#WIN) ; Selectionne l'element #WIN dans la liste structurée
OpenWindow(IDE()\ID,50,50,IDE()\W,IDE()\H, "DPI", #PB_Window_SystemMenu)
Sel(#CANV)
CanvasGadget (IDE()\ID, 1, 1, IDE()\W,IDE()\H)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow