Le forum (ô combien francophone) des utilisateurs de Powerbuilder.


Bonjour à tous,
Le titre parle de lui même, mais je vais vous décrire le contexte, il y en a qui auront peut-être un idée différente de la mienne.
Pour faire simple, j'ai besoin de dessiner des carrés de tailles fixes dans une datawindow, dans cette même datawindow, j'ai besoin qu'un autre carré soit proportionnel à la taille de ma fenêtre.
j'utilise la fonction workspaceheight() sur ma fenêtre principale pour connaitre la place dispo en largeur, or il me donne une valeur mais en PBUnits.
Ce serait idéal s'il existait une fonction qui me fasse la conversion, mais ce n'est pas le cas.
Et comme selon les postes, la résolution de l'écran change, je ne peux pas travailler et PBUnits, il faut que je sois en cm.
Quelqu'un a-t-il une proposition?
Merci d'avance
Claire
Dernière modification par claire (01-10-2010 15:54:25)
Hors ligne














Bonjour, les cm ça dépend de la taille de ton écran et de la résolution.
En revanche tu peux convertir les PBunits en pixels avec la fonction UnitsToPixels.
Hors ligne


Alors, pour le coup, je suis perdue.
Dans une datawindow, je fais le test: un carré de 1000 sur 1000 en cm
Me donne en PBUnits: 174 - 152.
Et évidemment, si je met par exemple 150 - 150, il n'a plus rien d'un carré.
Mais n'y a-t-il rien qui me permette de passé des PBUnits vers les cm?
Sachant que je peut récupérer lé résolution de l'écran, mais pas ça taille (quoique tu as peut-être la solution)
Hors ligne


Je viens d'essayer de mettre en pixels, j'obtiens du 38 - 38.
Je peux donc peut-être m'en sortir comme ça.
Je fais des tests et je vous tiens au courant
Hors ligne














La fonction UnitsToPixels est différente pour X et Y...
En principe en passant par les pixels c'est carré (sauf si la résolution n'est pas adaptée à la taille de l'écran, genre "étiré" en hauteur)
Edit : dans ton cas cm -> pixels -> PBunits c'est plutôt la fonction PixelsToUnit qu'il faut utiliser
Hors ligne


En effet, en passant par les pixels, j'obtiens bien des carrés.
Je n'ai donc plus de problème, merci à toi erasorz
Claire
Hors ligne