cs_PHIL63
Messages postés76Date d'inscriptiondimanche 9 février 2003StatutMembreDernière intervention10 août 2010
-
9 janv. 2007 à 09:24
cs_PHIL63
Messages postés76Date d'inscriptiondimanche 9 février 2003StatutMembreDernière intervention10 août 2010
-
17 janv. 2007 à 11:46
Bonjour à tous,
J'ai une petite question :
Est-il possible de connaitre la taille de l'écran ( 15", 17" etc) et/ou son rapport 16/10 ou 4/3 avec des API de windows car je n'ai rien trouvé.
J'ai bien trouvé GetSystemMetrics qui me renvoi le nombre de pixels etc mais ce n'est pas cela que je cherche.
En fait, je galère car je développe sur un écran de résolution 1920x1200 et en 16/10 et dès que mes fenêtres sont affichées sur (par exemple) une résolution de 1024x768 en 4/3 et bien elles ne ressemblent plus tout à fait à ce que je voulais.
Si quelqu'un à une petite (ou une grosse) solution, je serais preneur.
Merci d'avoir eu la patience de lire ma question.
Philippe DROUET
A voir également:
Connaitre la résolution de son écran
Comment connaitre la résolution de son écran - Meilleures réponses
cs_PHIL63
Messages postés76Date d'inscriptiondimanche 9 février 2003StatutMembreDernière intervention10 août 2010 10 janv. 2007 à 10:42
Bonjour,
Merci à tous pour vos réponses.
Mon problème en fait est que je développe sur un ordi dont les propriétés d'affichage sont réglées à 120 points par pouce ( sinon c'est écrit tout petit petit et je n'y vois rien :-) ) et qu'a l'éxécution les progs tourne sur des machines dont l'affichage est réglé sur 96 points par pouce. Donc quand je défini la taille de mes fenêtres etc sur mon ordi et qu'ensuite elles sont affichées sur les autres ordi ben c'est pas vraiment ça....
J'ai résolu mon problème via un composant LMD ( LMDForm.DesignPPI ) qui me permet de compenser cette différence du nombre de points par pouce.
Encore merci à tous pour vos différentes réponses.
Merci f0xi pour ton graphique qui me sera bien utile dans peu de temps.
sylvunix
Messages postés93Date d'inscriptionmardi 11 avril 2006StatutMembreDernière intervention 4 mars 2009 9 janv. 2007 à 10:47
Bonjour PHIL63,
Tu peux récupérer respectivement dans Screen.Width et Screen.Height, la largeur et la hauteur de l'écran en pixels. Tu pourras ensuite facilement trouver ton ratio. Sans vouloir te casser le moral mais moi je suis en 5/4 !
Exemple :
if (Screen.Width/Screen.Height) = (16/10) Then MessageDlg('16/10',mtInformation,[mbOk],0);
if (Screen.Width/Screen.Height) = (5/4) Then MessageDlg('5/4',mtInformation,[mbOk],0);
if (Screen.Width/Screen.Height) = (4/3) Then MessageDlg('4/3',mtInformation,[mbOk],0);
Ensuite, je ne pense pas que la taille de l'écran soit importante pour toi (15", 17", ...), le ratio devrait être suffisant.
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 9 janv. 2007 à 13:29
pour moi, peu importe la resolution de l'ecran. l'important est qu'elles se redimensionnent correctement. En effet, si ton appli n'est pas executée en plein ecran, rien ne t'empeche de la redimensionner dans des proportions quelconques.
Il faut donc manier habilement les panel, anchors, align, constraints, ... afin d'arriver au resultat souhaité
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 9 janv. 2007 à 20:32
En parlant de ça, je voulais juste crier un "petit" coup: je trouve que le positionnement realtif des composants dans Delphi n'est pas des plus aisés.
Encore sous Turbo Delphi, j'ai accès à des propriétés comme AlignWithMargins: Boolean, Margins: TMargins et des composants spécialisés dans le positionnement très pratiques comme TCategorybuttons, TButtonGroup, TFlowPanel, TGridPanel. Ces composants apportent un gain notable comparé aux versions précédentes qui ne les possèdent pas.
Cependant, je trouve que c'est 10 fois plus simple de concevoir la même mise en page dans une page web (xhtml 1.1 + css 2.0) (à condition de pas trop être attentif aux détails sous IE ^^, toujurs un pixel de plus ou moins que sous FF), et ça me révolte. En plus, des fois, le design time foire un peu: tu changes Align et le composant change complètement de place (logique), mais il est parfois impossible de le remettre comme avant sans devoir re-changer tous les Align de tous les composants du même parent.
Voila, c'était le coup de geule de la journée.
D'ailleurs, j'avais commencé un composant qui permettrait de positionner les composants comme en html, mais c'est bien trop complexe, je me noie dans le code....
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 11 janv. 2007 à 03:00
le PPI tu le recuper dans Screen.PixelPerInch ...
par contre ... pourquoi ton ecran est il réglée en 120 PPI ???! tu bosse dans l'imprimerie ?
le mieux, pour le developpement est toujours d'avoir une machine hyper-standard pour eviter ce genre de probleme.
c'est comme l'histoire des resolutions pour les site web, malgrés une generalitée de config en 1024x768 on trouve encore des normalisation 640x480 et parfois pire 1600x1200 !
cs_PHIL63
Messages postés76Date d'inscriptiondimanche 9 février 2003StatutMembreDernière intervention10 août 2010 17 janv. 2007 à 11:46
Bonjour,
Merci f0xi pour l'info sur Screen.PixelPerInch.
pourquoi mon écran est réglé sur 120 PPI ... ben c'est un 17" et en 1920x1200 c'est écrit trop petit pour mes vieux yeux :-)