Taille écran

globe08 Messages postés 24 Date d'inscription lundi 3 mars 2003 Statut Membre Dernière intervention 20 février 2004 - 10 févr. 2004 à 09:27
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 - 10 mars 2004 à 14:30
J'ai créer mon appli sur un pc avec un écran 17" en 1024*768 et je souhaite l'installer sur un écran 15" en 800*600. J'ai trouvé le code ci dessous chez microsoft mais ça marche pas. Je sais pas d'où ça viens. Je me demande si c'est pas le fait que j'agrandisse mes fenetres par moments. Bon si y'en a un qui a une soluce simple et qui marche tout le temps....

Sub Form_Load ()
InitResize '*** Initialisation : à utiliser une seule fois dans le
'*** programme.
Resize Me '*** Retaillage : à utiliser pour chaque feuille lors du
'*** chargement.
End Sub

Sub InitResize ()
'*** Intialisation du ratio des fenêtres de l'application.
RatioX = Screen.Width / WidthDéfinition
RatioY = Screen.Height / HeightDéfinition
End Sub

Sub Resize (Feuille As Form)
'*** Taille d'une feuille et de ses contrôles si nécessaire et si
'*** ceux-ci sont chargés.
Dim I As Integer
'*** Test si c'est nécessaire de changer les propriétés.
If RatioX <> 1 Or RatioY <> 1 Then
'*** Taille les contrôles chargés de la feuille.
For I = 0 To Feuille.Controls.Count - 1
'*** Tester si il n'y a pas un contrôle sans les propriétés
'*** Left et Top comme le contrôle Timer.
If TypeOf Feuille.Controls(I) Is Timer Then
'*** Ne rien changer si c'est un contrôle timer.
Else
'*** Il peut y avoir un changement sans entraîner
'*** d'erreur.
Feuille.Controls(I).Left = Feuille.Controls(I).Left *
RatioX
Feuille.Controls(I).Top = Feuille.Controls(I).Top *
RatioY
Feuille.Controls(I).Width = Feuille.Controls(I).Width *
RatioX
Feuille.Controls(I).Height = Feuille.Controls(I).Height *
RatioY
End If
Next I
'*** Retaille la feuille.
Feuille.Left = Feuille.Left * RatioX
Feuille.Top = Feuille.Top * RatioY
Feuille.Width = Feuille.Width * RatioX
Feuille.Height = Feuille.Height * RatioY
End If
End Sub

5 réponses

cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
10 févr. 2004 à 11:11
labout
La taille de l'écran est donnée par Screen.Width et Screen.Height.
C'est en fonction qu'il faut adapter ses fenetres dans le code
de l'évènement resize de la feuille.
Mais attention, il faut construire sa form en fonction de l'écran ayant la définition la plus grossière par le code
comme te l'explique Microsoft
déplacer tous ses controles pour qu'ils soint visibles quand on passe de 1024 à 800.

Une solution serait de doubler les écrans et suivant la définition appeller une form ou l'autre et c'est celle qui marcherait à tous les coups.
@+
0
cs_djulio Messages postés 5 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 7 avril 2004
9 mars 2004 à 18:41
J'ai choisit de forcer la resolution à 1024, mais un nouveau problème graphique vient avec la taille d'écran. J'ai développé mon appli pour du 1024 avec un 15', mais lorsque je passe sur un 17' aussi en 1024, mes forms n'apparaissent pas comme sur mon 15'...je ne comprends pas pour les dimensions de mes forms en pixel sont recalculées si je change d'écran mais pas de résolution ?
Je voudrais éviter de faire des resize sur chaque form, Y a-t-il une solution ???
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
9 mars 2004 à 22:57
labout
Le screen.width et screen.height donne la définition de l'écran
800 x 600 1024 *768 1280 x1024 1600 x 1200 etc
Je ne comprens pas pourquoi cela ne marche pas
As tu la même unite de mesure pixel pour tous les objets de tes form

@+
0
cs_djulio Messages postés 5 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 7 avril 2004
10 mars 2004 à 12:09
Oui, toutes mes form sont ouvertes dans une feuille MDI, elles sont toutes à 1024*768 à quelques pixel pres, sur mon 15', c plein ecran, et lorsque je transfert le projet sur un ecran 17', je vois qu'il modifie la Scaleheight et scalewidth de tous mes objets, et forms en particulier...
N'y a-t-il pas un parametre pour la configuration d'affichage ? Je ne comprend ça devrait marcher !!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
10 mars 2004 à 14:30
labout
Je ne sais lus quoi te dire
0
Rejoignez-nous