[Résolu] DesktopResolutionX()

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

[Résolu] DesktopResolutionX()

Message par SPH »

Salut,
Voici une curieuse chose : peu importe les DPI sur mon ordi, le résultat de ce code est "1" :

Code : Tout sélectionner

Debug "DPI du bureau en X : " + DesktopResolutionX()
Debug "DPI du bureau en Y : " + DesktopResolutionY()
Et vous ?
Avez vous une explication ??

Thxxx 😮
Dernière modification par SPH le mar. 19/juil./2022 14:32, modifié 1 fois.

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Marc56
Messages : 2197
Inscription : sam. 08/févr./2014 15:19

Re: DesktopResolutionX()

Message par Marc56 »

As-tu coché la case DPI dans les options du compilateur ?
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: DesktopResolutionX()

Message par SPH »

Marc56 a écrit : mar. 19/juil./2022 14:04 As-tu coché la case DPI dans les options du compilateur ?
Holala, la honte...
Elle était décochée, en effet.

Merci

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: [Résolu] DesktopResolutionX()

Message par Ollivier »

Il faudra (je laisse les habitués confirmer ou corriger) que tu coches aussi si c'est "user" ou "administrator" pour créer un exécutable.
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: [Résolu] DesktopResolutionX()

Message par SPH »

Pour l'instant, je n'ai pas eu a faire un EXE mais je te remercie pour l'astuce.

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
jph
Messages : 68
Inscription : dim. 17/juil./2022 16:02

Re: [Résolu] DesktopResolutionX()

Message par jph »

Tu a aussi la possibilité de faire:

Code : Tout sélectionner

Define temp.i = OpenWindow(#PB_Any, ExamineDesktops(), 0, 0, 0, "", #PB_Window_Maximize | #PB_Window_BorderLess | #PB_Window_Invisible)
Debug DesktopWidth(0)
Debug  DesktopHeight(0
CloseWindow(temp)
J'ai trouvé ça sur un de ces forums, et ça a l'avantage de fonctionner sous Linux également. Alors que l'on ne peux cocher l'option DPI que sous Windows.
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: [Résolu] DesktopResolutionX()

Message par SPH »

jph : on a presque le même pseudo 8O :lol:

Je prends note de ton code; même si ça, je maitrise :D

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Marc56
Messages : 2197
Inscription : sam. 08/févr./2014 15:19

Re: [Résolu] DesktopResolutionX()

Message par Marc56 »

jph a écrit : sam. 23/juil./2022 16:37 Tu a aussi la possibilité de faire:

Code : Tout sélectionner

Define temp.i = OpenWindow(#PB_Any, ExamineDesktops(), 0, 0, 0, "", #PB_Window_Maximize | #PB_Window_BorderLess | #PB_Window_Invisible)
Debug DesktopWidth(0)
Debug  DesktopHeight(0
CloseWindow(temp)
J'ai trouvé ça sur un de ces forums, et ça a l'avantage de fonctionner sous Linux également. Alors que l'on ne peux cocher l'option DPI que sous Windows.

Code : Tout sélectionner

OpenWindow(#PB_Any, ExamineDesktops()...
Quelle idée bizarre ? cela ne n'a pour effet que de définir le x de la fenêtre au nombre de bureaux disponibles (?!). ExamineDesktops() retournera au minimum 1.

Pour avoir la taille du bureau il n'est même pas nécessaire d'ouvrir une fenêtre

Code : Tout sélectionner

ExamineDesktops()
Debug DesktopWidth(0)
Debug DesktopHeight(0)
Cela fonctionne aussi sous Linux et même en VM.

Les fonctions DPI aware (Windows seulement) ne servent pas qu'à donner un facteur d'échelle, elles permettent de différencier les éléments qui ne doivent pas être mis à l'échelle dans une interface. Windows lui-même se charge de mettre à l'échelle ou pas certains widgets (ex: le texte d'un bouton, mais pas le bouton lui-même). Explications sur le site MS.
:wink:
jph
Messages : 68
Inscription : dim. 17/juil./2022 16:02

Re: [Résolu] DesktopResolutionX()

Message par jph »

Ok. Merci pour l'info. C'est utile à savoir.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: [Résolu] DesktopResolutionX()

Message par Ollivier »

marc56 a écrit :

Code : Tout sélectionner

OpenWindow(#PB_Any, ExamineDesktops()...
Quelle idée bizarre ? cela ne n'a pour effet que de définir le x de la fenêtre au nombre de bureaux disponibles (?!).
Je ne suis pas bizarre. Étant limité à 800 lignes de code, je tâche d'être économe.
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: [Résolu] DesktopResolutionX()

Message par SPH »

Ollivier a écrit : dim. 24/juil./2022 16:34 Étant limité à 800 lignes de code, je tâche d'être économe.
Econome ?
Ok, je ne dis rien... 😎

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: [Résolu] DesktopResolutionX()

Message par Ollivier »

Code : Tout sélectionner

CloseWindow(OpenWindow(#PB_Any, 0, 0, 400, 300, "Ric rac 800 lignes...", #PB_Window_ScreenCentered) + TextGadget(#PB_Any, 0, 0, 400, 300, "Hello, en version démo") & 0 + Delay(5000) )
jph
Messages : 68
Inscription : dim. 17/juil./2022 16:02

Re: [Résolu] DesktopResolutionX()

Message par jph »

Ok, si tu veux. Mais enfin, si tu as une petite utilité de ce langage, c'est quand même plus confortable de l'utiliser dans sa version non bridée. Ça coûte un peu cher, mais le prix est justifié par le modèle économique. Payer une fois 79 euros, quand on est sûr d'avoir toujours une version à jour, ce n'est finalement pas si cher que ça et c'est plus confortable de pouvoir avoir autant de fichiers et de lignes de code que l'on désire.

Ceci n'est pas une leçon de morale mais juste un point de vue que je trouve utile de partager. Maintenant chacun fait ce qu'il veut. Ce n'est pas interdit d'utiliser la version démo, alors pourquoi pas même si c'est un peu la galère. :)
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: [Résolu] DesktopResolutionX()

Message par SPH »

Ollivier, comment ce fait il que dans le temps, tu n'étais pas contraint par le nombre de lignes ?

Ollivier le pirate, ou SPH le mytho ? :P

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: [Résolu] DesktopResolutionX()

Message par Ar-S »

Je pense qu'il parle de contrainte hardware...
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre