Probleme de Resize (La Fin)

Tetris42 Messages postés 53 Date d'inscription lundi 4 août 2003 Statut Membre Dernière intervention 22 décembre 2003 - 22 déc. 2003 à 12:05
Tetris42 Messages postés 53 Date d'inscription lundi 4 août 2003 Statut Membre Dernière intervention 22 décembre 2003 - 22 déc. 2003 à 15:03
salut j ai toujours mon probleme de resize mais je sais d ou ca vient.
C 'est que sur ma form a resize j ai des menus et c'est ces elements qu il arrive pas a resize ...

For Each Object In Me
If TypeOf Object Is Line Then
Object.Tag = CStr(Object.X1) & ":" & CStr(Object.Y1) & ":" & CStr(Object.X2) & ":" & CStr(Object.Y2)
Else
Object.Tag = CStr(Object.Width) & ":" & CStr(Object.Height) & ":" & CStr(Object.left) & ":" & CStr(Object.top)
End If
Next Object

il me faudrait une autre condition pour resize le menu ....

Tetris

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
22 déc. 2003 à 13:12
For Each Object In Me
If TypeOf Object Is Line Then
Object.Tag = CStr(Object.X1) & ":" & CStr(Object.Y1) & ":" & CStr(Object.X2) & ":" & CStr(Object.Y2)
ElseIf Not TypeOf Object Is Menu Then 
Object.Tag = CStr(Object.Width) & ":" & CStr(Object.Height) & ":" & CStr(Object.left) & ":" & CStr(Object.top)
End If
Next Object


By Renfield

[mailto:thomas_reynald@msn.com thomas_reynald@msn.com]

Aucune touche n'a ete blessee lors de la saisie de ce texte.......... ;)
0
Tetris42 Messages postés 53 Date d'inscription lundi 4 août 2003 Statut Membre Dernière intervention 22 décembre 2003
22 déc. 2003 à 14:33
humm je viens d essayer mais ca marche pas
en fait la valeur d Object a c'est True ou False quand j arrive au menu ...

Tetris
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
22 déc. 2003 à 14:40
Tu te fiches de savoir la valeur de Object !! Il s'agit de la valeur de la variable par default.

regardes la valeur de TypeName(Object) Quand tu passes sur le menu. le but etant de faire :

For Each Object In Me
If TypeOf Object Is Line Then
Object.Tag = CStr(Object.X1) & ":" & CStr(Object.Y1) & ":" & CStr(Object.X2) & ":" & CStr(Object.Y2)
ElseIf TypeName(Object) <> "Menu" Then 
Object.Tag = CStr(Object.Width) & ":" & CStr(Object.Height) & ":" & CStr(Object.left) & ":" & CStr(Object.top)
End If
Next Object


By Renfield

[mailto:thomas_reynald@msn.com thomas_reynald@msn.com]

Aucune touche n'a ete blessee lors de la saisie de ce texte.......... ;)
0
Tetris42 Messages postés 53 Date d'inscription lundi 4 août 2003 Statut Membre Dernière intervention 22 décembre 2003
22 déc. 2003 à 14:58
hummm bon ben on y est presque la , il a reussi a passe cette boucle mais la le seul probleme c 'est qu' en sautant le resize du menu dans cette boucle il ne me fait un "Subscript Out Of Range" dans ma fonction resize .

Private Sub Form_Resize()
On Error Resume Next
Dim W As Long, H As Long, L As Long, T As Long, MW As Long, MH As Long
Dim Object As Control
MW = Val(Split(Me.Tag, ":")(0))
MH = Val(Split(Me.Tag, ":")(1))
For Each Object In Me
W = Val(Split(Object.Tag, ":")(0))
H = Val(Split(Object.Tag, ":")(1))
L = Val(Split(Object.Tag, ":")(2))
T = Val(Split(Object.Tag, ":")(3))
If TypeOf Object Is Line Then
Object.X1 = W * Me.Width / MW
Object.Y1 = H * Me.Height / MH
Object.X2 = L * Me.Width / MW
Object.Y2 = T * Me.Height / MH
Else
'pour le reste
Object.Width = W * Me.Width / MW
On Error Resume Next
Object.Height = H * Me.Height / MH
Object.left = L * Me.Width / MW
Object.top = T * Me.Height / MH
'pour les fonts
On Error Resume Next
Object.Font.Size = (Me.Font.Size * (Me.Width / mem_long))
On Error GoTo 0
End If
Next Object
End Sub

Tetris
0

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

Posez votre question
Tetris42 Messages postés 53 Date d'inscription lundi 4 août 2003 Statut Membre Dernière intervention 22 décembre 2003
22 déc. 2003 à 15:03
Ca y est j ai trouve ;)

Private Sub Form_Resize()
On Error Resume Next
Dim W As Long, H As Long, L As Long, T As Long, MW As Long, MH As Long
Dim Object As Control
MW = Val(Split(Me.Tag, ":")(0))
MH = Val(Split(Me.Tag, ":")(1))
For Each Object In Me
If TypeName(Object) <> "Menu" Then
W = Val(Split(Object.Tag, ":")(0))
H = Val(Split(Object.Tag, ":")(1))
L = Val(Split(Object.Tag, ":")(2))
T = Val(Split(Object.Tag, ":")(3))
If TypeOf Object Is Line Then
Object.X1 = W * Me.Width / MW
Object.Y1 = H * Me.Height / MH
Object.X2 = L * Me.Width / MW
Object.Y2 = T * Me.Height / MH
Else
'pour le reste
Object.Width = W * Me.Width / MW
On Error Resume Next
Object.Height = H * Me.Height / MH
Object.left = L * Me.Width / MW
Object.top = T * Me.Height / MH
'pour les fonts
On Error Resume Next
'On Error Resume Next
'Object.Height = H * Me.Height / MH
Object.Font.Size = (Me.Font.Size * (Me.Width / mem_long))
On Error GoTo 0
End If
End If
Next Object
End Sub

Merci tt le monde ...

Tetris
0
Rejoignez-nous