Reduire ; agrandir

nostra78
Messages postés
137
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
6 décembre 2005
- 31 août 2005 à 11:13
nostra78
Messages postés
137
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
6 décembre 2005
- 31 août 2005 à 15:44
Bonjour,
j'aimerais connaître le code pour créer deux boutons réduire agrandir. Le bouton agrandir devra permetre aussi de garder la proportion des contrôles. Pour plus d'infos, n'hésitez pas à me poser des kestions.

5 réponses

violent_ken
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
1
31 août 2005 à 11:32
Violent Ken

Réduire la form : Form.WindowState = vbMinimized
Agrandir la form : Form.WindowState = vbMaximized

Et pour garder la proportion des contrôles, voilà le code de Florent :

'tu mets çà dans ta form

Code de Florent.
'Si vous ajoutez ce code dans un de vos programmes, citez-moi.
Dim OldWidth As Integer 'On va stocker l'ancienne largeur de la feuille dans cette variable
Dim OldHeight As Integer 'De même pour le hauteur


Private Sub Form_Load()
OldWidth = Width 'Au chargement, l'ancienne largeur de la feuille est la largeur actuelle
OldHeight = Height 'De même pour la hauteur
End Sub


Private Sub Form_Resize()
On Error Resume Next 'Si il y a une erreur, on continue
Dim XCoeff As Single 'Le coefficient qui va nous servir pour la largeur et le placement horizontal des contrôles
Dim YCoeff As Single 'De même pour la hauteur et le placement vertical des contrôles
Dim Controle As Control 'Control représente n'importe quel contrôle de la feuille
XCoeff = Width / OldWidth 'Un simple rapport entre la nouvelle largeur et l'ancienne
YCoeff = Height / OldHeight 'Dee même pour la hauteur
For Each Controle In Me 'Pour chaque controle de la feuille...
Controle.Move Controle.Left * XCoeff, Controle.Top * YCoeff, Controle.Width * XCoeff, Controle.Height * YCoeff 'On le déplace et redimmentionne en même temps
Next 'Et on passe au suivant
OldWidth = Width 'On change l'ancienne largeur par la nouvelle
OldHeight = Height 'De mê
End Sub

@+
0
nostra78
Messages postés
137
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
6 décembre 2005

31 août 2005 à 11:51
C'est pas exactement ce que je veux, je veux les boutons comme une fenêtre windows: réduire agrandir
0
violent_ken
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
1
31 août 2005 à 12:21
Violent Ken

Hein ? Mais tu les as sur ta form, les boutons réduire et agrandir !
Explique plus clairement ce que tu veux faire.
@+
0
nostra78
Messages postés
137
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
6 décembre 2005

31 août 2005 à 12:29
Excuse, j'ai oublié de dire que c du vba. Sinon en vb c'est sur k c pas un pb.
0

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

Posez votre question
nostra78
Messages postés
137
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
6 décembre 2005

31 août 2005 à 15:44
J'ai trouvé un bout de code API mais le bouton agrandir n'est pas actif!!

Private Declare Function FindWindowA& Lib "User32" (ByVal lpClassName$, ByVal lpWindowName$)
Private Declare Function EnableWindow& Lib "User32" (ByVal hWnd&, ByVal bEnable&)
Private Declare Function GetWindowLongA& Lib "User32" (ByVal hWnd&, ByVal nIndex&)
Private Declare Function SetWindowLongA& Lib "User32" (ByVal hWnd&, ByVal nIndex&, ByVal dwNewLong&)


Private Sub UserForm_Activate()
EnableWindow FindWindowA("XLMAIN", Application.Caption), 1
End Sub


Private Sub UserForm_Initialize()
Dim hWnd As Long
hWnd = FindWindowA(vbNullString, Me.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) Or &H20000
End Sub
0