Redimensionner un composant suivant la taille de la fenêtre ?

[Résolu]
Signaler
Messages postés
14
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
25 mai 2010
-
Messages postés
14
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
25 mai 2010
-
Bonjour,
je suis sous VB6, et je me suis rendu compte que cette version ne gère pas la proprité dock que l'on a sur VB.Net.
Cette propriété dock est bien sympa car elle permet d'agrandir les composants aux mêmes proportions que le Form.

Est ce qu'il est possible de retrouver cette fonctionnalité avec VB6, SVP ?

benland

3 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
124
Si tu avais fait une recherche dans les sources du site, tu aurais déjà trouvé ton bonheur :

http://www.vbfrance.com/code.aspx?id=28747

http://www.vbfrance.com/code.aspx?id=408

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 82 internautes nous ont dit merci ce mois-ci

Messages postés
14
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
25 mai 2010

Merci beaucoup Darksidious , c'est exactement ce qu'il me fallait!
Et puis je n'avais pas besoin de cherchais puiske tu étais là

benland
Messages postés
14
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
25 mai 2010

Puis pour ce qui aurait le même problème que moi , je vous donne la source magique qui redimensionne tout proportionnellement à la taille de votre Form:

Public Sub RedimForm()
Dim Feuille As Form
Set Feuille = Screen.ActiveForm
If (Feuille.WindowState = vbMinimized) Then
Exit Sub
End If
Static Longueur As Long
Static Hauteur As Long
Dim PropLongueur As Single
Dim PropHauteur As Single
If ((Longueur > 0) And (Hauteur > 0)) Then
PropLongueur = Feuille.Width / Longueur
PropHauteur = Feuille.Height / Hauteur
Dim Ctrl As Control
On Error Resume Next
For Each Ctrl In Feuille.Controls
Ctrl.Left = CInt(Ctrl.Left * PropLongueur)
Ctrl.Top = CInt(Ctrl.Top * PropHauteur)
Ctrl.Width = CInt(Ctrl.Width * PropLongueur)
Ctrl.Height = CInt(Ctrl.Height * PropHauteur)
Next
On Error GoTo 0
End If
Longueur = Feuille.Width
Hauteur = Feuille.Height
End Sub

Bien entendue cette procédure doit être appelé dans l'évènement: Private Sub Form_Resize()

benland