Problème Form Maximized

Signaler
Messages postés
12
Date d'inscription
jeudi 1 décembre 2005
Statut
Membre
Dernière intervention
8 août 2006
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
 Satsimo

bonsoir tout le monde, j'ai un petit problème avec ma form, c'est quand je la met en mode maximized , bon ça marche bien , mais si je change la résolution de mon écran (click droit dans le bureau, propriétés, onglet paramètres-> changer la résolution) bon quand je la change, j'ai tout rouiné sur ma form, enf1 pas rouiné mais ehhh je sais pas comment dire, les objects sur ma form ne se déplace pas en fonction de la résolution, bon vous pouvez faire un pti programme et éssayer...
j'aimerai avoir la solution pour ce petit probléme trop con parce que des fois quand je change de pc..on a l'impression que je suis con
merci a tous



 Satsimo

5 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

Certains te diront de changer par code la résolution de l'écran, mais je pense que c'est au programmeur de s'adapter à l'utilisateur (et non l'inverse).

Donc je te conseille de faire ta source sur une petite résolution, et tu peux gérer la taille de ta Form comme ceci :
With MaForm
    .Width = Screen.Width
    .Height = Screen.Height
End With

Pour tes contrôles, si t'en a pas trop, tu peux faire une boucle en calculant le rapport taille Form d'origine & taille Form nouvelle pour l'utiliser afin d'augmenter la taille de ces contrôles proportionnellement à ta Form.
(note : si t'avais été en VBA, cela aurait été + simple, grâce à la propriété Zoom)

@++

  Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Messages postés
12
Date d'inscription
jeudi 1 décembre 2005
Statut
Membre
Dernière intervention
8 août 2006

 Satsimo 

Merci Mortalino...
c'est trop loooooong le truc



 Satsimo 
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Essaie ce code (il faudra certainement l'affiner !) :

<small>
Coloration syntaxique automatique </small>
Sub Form_Load() 
    Dim HauteurForm           As Long 
    Dim LargeurForm           As Long 
    Dim RapportHauteur      As Double 
    Dim RapportLargeur      As Double 
    Dim ctl                           As Control 

HauteurForm = Me.Height 
LargeurForm = Me.Width 

With Me 
    .Height = Screen.Height 
    .Width = Screen.Width 
End With 

RapportHauteur = Screen.Height / HauteurForm 
RapportLargeur = Screen.Width / LargeurForm 

On Error Resume Next 
For Each ctl In Me.Controls 
    With ctl 
        .Height = .Height * RapportHauteur 
        .Width = .Width * RapportLargeur 
    End With 
Next ctl 
On Error GoTo 0 

End Sub

<small>
Coloration syntaxique automatique </small>

@++

  Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bonsoir tout le monde,
Personnellement j' utilise une méthode, que je ne considère pas la meilleure, mais qui a
 m ' as permis de contourner le problème sur pas mal d' interface.
Elle consiste à concevoir mon formulaire sur une petite résolution (800x600).
Je place alors tous mes contrôles sur un container (Frame ou PictureBox) et je centre
 celui-ci dans mon formulaire .
Dans la procédure Form_Resize, je recentre mon container  en prennant compte des dimmentions de ma fenêtre par rapport à l' écran.
C' est vrai que les contrôles conservent leurs dimensions de départ mais au moins ça a le mérite de garder une certaine uniformité.

Attention à la valeur vbMinimized.Il faut mettre un On Error Resume Next dans Form_Resize.
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
salut,
voir dans les sources existantes pour redimentionner les contrôles en fonction de la taille de la form ;)

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp