Connaitre la taille de l'écran [Résolu]

cs_PHIL63
Messages postés
76
Date d'inscription
dimanche 9 février 2003
Dernière intervention
10 août 2010
- 9 janv. 2007 à 09:24 - Dernière réponse : cs_PHIL63
Messages postés
76
Date d'inscription
dimanche 9 février 2003
Dernière intervention
10 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
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_PHIL63
Messages postés
76
Date d'inscription
dimanche 9 février 2003
Dernière intervention
10 août 2010
- 10 janv. 2007 à 10:42
3
Merci
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.

Philippe DROUET

Merci cs_PHIL63 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de cs_PHIL63
sylvunix
Messages postés
103
Date d'inscription
mardi 11 avril 2006
Dernière intervention
4 mars 2009
- 9 janv. 2007 à 10:47
0
Merci
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.

sylvunix
Commenter la réponse de sylvunix
Guillemouze
Messages postés
1015
Date d'inscription
samedi 25 octobre 2003
Dernière intervention
29 août 2013
- 9 janv. 2007 à 13:29
0
Merci
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é
Commenter la réponse de Guillemouze
f0xi
Messages postés
4304
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
9 mars 2018
- 9 janv. 2007 à 19:29
0
Merci
Screen.Width/Screen.Height

Form1.Monitor.Width/Form1.Monitor.Height

Screen.MonitorCount
Screen.Monitor[X].Width/Screen.Monitor[X].Height

Screen.Workaera : (Right-Left)/(Bottom-Top)

rc2 = 1.41
rc3 = 1.73

3/2 = 1.500
4/3 = 1.333
5/4 = 1.250
16/9 = 1.777
16/10 = 1.600
59/54 = 1.092

Commenter la réponse de f0xi
florenth
Messages postés
1105
Date d'inscription
dimanche 1 août 2004
Dernière intervention
17 août 2008
- 9 janv. 2007 à 20:32
0
Merci
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....
Commenter la réponse de florenth
f0xi
Messages postés
4304
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
9 mars 2018
- 11 janv. 2007 à 03:00
0
Merci
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 !

sinon pour le graph, je tiens a préciser qu'il n'est pas de moi, mais dispo sur wikipedia. (http://upload.wikimedia.org/wikipedia/commons/thumb/4/44/Vector_Video_Standards.png/750px-Vector_Video_Standards.png)

Commenter la réponse de f0xi
cs_PHIL63
Messages postés
76
Date d'inscription
dimanche 9 février 2003
Dernière intervention
10 août 2010
- 17 janv. 2007 à 11:46
0
Merci
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 :-)

Philippe DROUET
Commenter la réponse de cs_PHIL63

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.