Load Picture(index) avec Label(index) dedans

Résolu
kakenette Messages postés 218 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 15 novembre 2009 - 16 oct. 2007 à 19:35
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 16 oct. 2007 à 22:30
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

chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
16 oct. 2007 à 20:30
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 />
3
Utilisateur anonyme
16 oct. 2007 à 20:39
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
3
Utilisateur anonyme
16 oct. 2007 à 20:13
Salut,

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







__________
Kenji

(


Nouveau forum VBA/Office
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
16 oct. 2007 à 20:22
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 />
0

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

Posez votre question
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
16 oct. 2007 à 20:23
Salut Charles,
Post croisé...
Je vais testé ta proposition.
Merci d' avance.

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
16 oct. 2007 à 20:52
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 />
0
kakenette Messages postés 218 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 15 novembre 2009 1
16 oct. 2007 à 21:01
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
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
16 oct. 2007 à 21:13
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 />
0
Utilisateur anonyme
16 oct. 2007 à 22:05
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
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
16 oct. 2007 à 22:30
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 />
0
Rejoignez-nous