Load Picture(index) avec Label(index) dedans [Résolu]

Signaler
Messages postés
218
Date d'inscription
dimanche 1 mai 2005
Statut
Membre
Dernière intervention
15 novembre 2009
-
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
-
Bonjour, Voila je crée un usercontrol qui servira de genre
de listbox. J’ai mi dedans une Picturebox appelée ' Pic(0) ' et dans cette Picturebox
un label du nom de ' Lab(0) '. J’aimerai bien faire ceci :


Load Pic(1)

Load Lab(1)


De manière à que le nouveau ' Lab(1) ' chargé soie dedans le nouveau ' Pic(1)
'. Avez-vous une idée comment je pourrai faire s'il-vous plaît ?


Merci, kakenette

10 réponses

Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Re ,
  
Set lbl_Item(I_Count).Container = pic_Item(I_Count)
provoque l' erreur suivante :
Utilisation d' objet incorrecte !

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
32
Salut,

J'ai ceci :
Load Pic(1)
Load Lab(1)
Pic(1).Visible = True
Pic(1).Move 0, 0
Lab(1).Visible = True
Lab(1).Move 0, 0
Set Lab(1).Container = Pic(1), ----
(Coloration syntaxique automatique par Kenji)
Pas d'erreurs et tout fonctionne (vb6sp6)

__________
Kenji
(
Nouveau forum VBA/Office
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
32
Salut,

Il suffit de définir le parent :
Set lbl(1).Container = Pic(1)







__________
Kenji

(


Nouveau forum VBA/Office
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Salut,
j' ai été confronté au même problème pour un semblable UC.
J' ai pensé à SetParent mais ça fonctionnait pas vue que le label
n' a pas de Hwnd.Alors j' ai fait ceci :
Private Sub AddItem(m_Item As String)
    With UserControl
         I_Count = I_Count + 1
         Load .pic_Item(I_Count)
         Load .lbl_Item(I_Count)
          .pic_Item(I_Count).Visible = True
         'etiquette
         .lbl_Item(I_Count).Visible = True
       
        '
       ensuite je positionne le pic_Item(I_Count) au dessous du précédent.
        .pic_Item(I_Count).Top = .pic_Item(I_Count - 1).Top + I_Height  '(hauteur de pic)
      et le lbl_Item(I_Count) à la même hauteur que pic_Item(I_Count
      et pour finir je met  .lbl_Item(I_Count)  au premier plan.
      .lbl_Item(I_Count).ZOrder 0


  End with


End Sub
Et ça marche impec !
Si quelqu' un d' autre à une autre idée , on serait tout de











<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Salut Charles,
Post croisé...
Je vais testé ta proposition.
Merci d' avance.

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
toujours la même erreur !
je crois que ça fonctionnerait sur une form et pas sur un UC.
Le UC est déjà un Container pour les deux controls.

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
Messages postés
218
Date d'inscription
dimanche 1 mai 2005
Statut
Membre
Dernière intervention
15 novembre 2009
1
Super, merci les amis. Je sais pas se que s'est un UC mais
dans mon UserControl ça marche. Merci Charles Racaud et chaibat05, je vous
souhaite une bonne soirée, j'ai utilisé "Set Lab(1).Container =
Pic(1)", voila tout. :) A tout bientôt je l'espère.





kakenette
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Content pour toi kakenette ...
mais chez moi, ça marche toujours pas !

Charles, voici toute la Sub:
'Ajouter une ligne au groupe d' items
Public Sub AddItem(m_Item As String)
    With UserControl
         I_Count = I_Count + 1


         Load .pic_Item(I_Count)
         Load .lbl_Item(I_Count)
         Set .lbl_Item(I_Count).Font = UserControl.Font
         .lbl_Item(I_Count).ForeColor = m_ForeColor
                 .pic_Item(I_Count).Visible = True
         'etiquette
         .lbl_Item(I_Count).Caption = m_Item
         .lbl_Item(I_Count).Alignment = m_Caption_Alignement
         .lbl_Item(I_Count).Visible = True
         .lbl_Item(I_Count).ZOrder 0
        '
        
         If I_Count = 1 Then
          I_Height = .pic_Item(I_Count).Height
          I_Width = .pic_Item(I_Count).Width
         End If
         .lbl_Item(I_Count).Width = .pic_Item(I_Count).Width
        
         If Style = 1 Then 'vertical
          .pic_Item(I_Count).Left = 0
          .pic_Item(I_Count).Top = .pic_Item(I_Count - 1).Top + I_Height
         Else              'horizental
          .pic_Item(I_Count).Top = 0
          .pic_Item(I_Count).Left = .pic_Item(I_Count - 1).Left + I_Width
         End If
        
          'Sur les deux cas
          .lbl_Item(I_Count).Top = .pic_Item(I_Count).Top + m_Caption_Top
          .lbl_Item(I_Count).Left = .pic_Item(I_Count).Left
        
         'ta proposition
         Set .lbl_Item(I_Count).Container = .pic_Item(I_Count)
         ==>Ereuur 425 :Utilisation d' objet incorrecte  
        


        'réajuster le control
          UserControl_Resize
       End With
     
End Sub

j' inciste mais j' aimerais savoir...
PS   vb6sp6











<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
32
Ce qui est fou, c'est que ca marche
Essaye sur un nouveau projet de faire juste une label et une picturebox. Comme l'exemple de kakenette.

__________
Kenji
(
Nouveau forum VBA/Office
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Effectivement Charles...

ça marche sur un nouveau Projet UC.

Mais pourquoi ça marche pas dans le premier ? !
Mystère  !
Je crois que c' est lié au contexte général de mon UC.

Mais je l' aurais un jour ...je l' aurais 

PS : Kakenette : UC= UserControl.
C' est la même chose mais en plus court

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />