Nom de l'objet

Timidei Messages postés 10 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 13 octobre 2004 - 12 oct. 2004 à 11:43
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 13 oct. 2004 à 11:20
:)

Il y a t'il un moyen d'avoir le nom d'un l'object ?

Timide

11 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
12 oct. 2004 à 12:28
    Dim x As Object
    
    For Each x In Me.Controls
        MsgBox x.Name
        Next
0
Timidei Messages postés 10 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 13 octobre 2004
12 oct. 2004 à 12:30
Pour le nom c'est ok
mais c'est le type qui m'interesse (une forme un label ....)

Merci quand meme

Timidei
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
12 oct. 2004 à 12:44
    Dim x As Object
    
    For Each x In Form1.Controls
        MsgBox TypeName(x)
        Next
0
Timidei Messages postés 10 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 13 octobre 2004
12 oct. 2004 à 12:50
Merci
Je lutte depuis hier pour trouver cette info
Par hasard tu ne saurais pas comment trouver le numero de l'onglet ou se trouve le controle

Ex : j'ai un sstab ou je place un label sur l'onglet 1 et un textbox sur l'onglet 2
il a t'il mayen de retourver leurs position du le sstab

Il ne reste plus que cette colle pour mon appli

Timide
0

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

Posez votre question
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
12 oct. 2004 à 12:58
Le seul moyen que je vois c'est de mettre le numéro de l'onglet dans la propriété tag.
je sais pas si ça répond à ta question

Daniel
0
Timidei Messages postés 10 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 13 octobre 2004
12 oct. 2004 à 14:19
pas trop j'y avais pense mais quand il y a plusieurs sstab imbrique c'est plus complique

je voulais evité cela a tt pris

en gros cettait pour redimensionner ma fenetre avec le sstab il faut mettre le focus sur l'onglet avant de redimensionner les object de cette onglet

Tant pis j'abandonne

Timidei
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
12 oct. 2004 à 14:35
    Dim x     As Object
    Dim i     As Integer
    Dim n1    As Integer
    Dim n2    As Integer
    Dim Lx    As Long

    On Error Resume Next
    For Each x In Form1.Controls        n1 0: n2 0
        For i = 0 To SSTab1.Tabs
            SSTab1.Tab = i
            Lx = x.Left            If Lx < 0 Then n1 n1 + 1 Else n2 i + 1
            Next
        If n1 > 0 And n2 > 0 Then
           MsgBox x.Name & "  onglet=" & n2 - 1
           End If
        Next
0
Timidei Messages postés 10 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 13 octobre 2004
12 oct. 2004 à 14:51
Franchement merci daniel

tu ma sortis de mon bordel

je vais essaye avec plusieurs sstab

encore merci

Timidei
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
12 oct. 2004 à 18:15
pour redimentionner inutile de savoir dans quel SStab se trouve le contrôle

exemple de redimentionnement proportionnel

Option Explicit

Dim Xl(10) As Integer
Dim Xt(10) As Integer
Dim Xw(10) As Integer
Dim Xh(10) As Integer
Dim Sw     As Integer
Dim Sh     As Integer

Private Sub Form_Load()
    Dim x  As Object
    Dim i  As Integer
    
    Sw = Form1.ScaleWidth
    Sh = Form1.ScaleHeight
    On Error GoTo 10
    For Each x In Form1.Controls
        i = i + 1        If x.Left < 0 Then Xl(i) x.Left + 75000 Else Xl(i) x.Left
        Xt(i) = x.Top
        Xw(i) = x.Width
        Xh(i) = x.Height
10      Next
End Sub

Private Sub Form_Resize()
    Dim x  As Object
    Dim i  As Integer
    Dim Tw As Single
    Dim Th As Single
    
    Tw = Form1.ScaleWidth / Sw
    Th = Form1.ScaleHeight / Sh
    
    On Error GoTo 10
    For Each x In Form1.Controls
        i = i + 1
        If x.Left < 0 Then
           x.Left = Xl(i) * Tw - 75000
           Else
           x.Left = Xl(i) * Tw
           End If
           x.Top = Xt(i) * Th
           x.Width = Xw(i) * Tw
           x.Height = Xh(i) * Th
10      Next
    
End Sub
0
Timidei Messages postés 10 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 13 octobre 2004
13 oct. 2004 à 09:20
Il y a des probleme d'affichage pour les controle dans le sstab si tu redimensionne en cours de route ta fenetre

Timidei
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
13 oct. 2004 à 11:20
Il suffit de prendre en compte le négatif pour la propriété Left et d'utiliser le type Long au lieu de Integer.

Daniel
0
Rejoignez-nous