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

Résolu
cs_benland Messages postés 14 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 25 mai 2010 - 17 août 2005 à 19:34
cs_benland Messages postés 14 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 25 mai 2010 - 17 août 2005 à 22:46
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

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
17 août 2005 à 20:29
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
cs_benland Messages postés 14 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 25 mai 2010
17 août 2005 à 22:41
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
0
cs_benland Messages postés 14 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 25 mai 2010
17 août 2005 à 22:46
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
0
Rejoignez-nous