OVH Cloud OVH Cloud

prob de rafraichissement

1 réponse
Avatar
jerome
Bonjour,

Voilà, j'ai créé un combo personnalisé.
Je lui ai aussi fait une page de propriété afin d'ajouter ou supprimer des
item.
Pour tester, j'ai ajouté un item et lancé l'appli. OK
Ensuite, j'ai rajouté un item et relancé pour voir si les deux s'affichait,
et là premier problème.
Seul le premier item s'affiche. L'autre n'a pas été enregistré.

Second problème, la suppression des items n'est pas non plus pris en compte.

Voici mon code du property page :
Dim APPLY As Integer ' Pour appliquer soit l'ajout soit la suppression d'un
item

Private Sub txtList_Change()
Changed = True
End Sub

Private Sub Command1_Click()
APPLY = 0 ' On ajoute un item
PropertyPage_ApplyChanges ' on applique l'ajout
Changed = False
End Sub

Private Sub PropertyPage_ApplyChanges()
Dim i As Integer
If APPLY = 0 Then
If Text1.Text = "" Then Exit Sub
i = SelectedControls(0).ListCount
SelectedControls(0).AddItem Text1.Text, i ' on ajoute l'item dans le
controle
txtlist.AddItem Text1.Text
Text1.Text = ""
Else
SelectedControls(0).RemoveItem txtlist.ListIndex ' On supprime l'item
dans le controle
txtlist.RemoveItem txtlist.ListIndex
End If
End Sub

Private Sub PropertyPage_SelectionChanged()
Dim n As Integer
n = 0
While n <= SelectedControls(0).ListCount - 1
txtlist.AddItem SelectedControls(0).List(n)
n = n + 1
Wend
End Sub

Private Sub Text1_Change()
Changed = True
End Sub

Private Sub txtlist_DblClick()
APPLY = 1
PropertyPage_ApplyChanges
Changed = False
End Sub

J'ai oublié d'indiqué que tout fonctionne à partir du propertyPage, c'est
une fois que je test le lancement, que ca ne fonctionne pas, et que les
items ne s'ajoute pas ou supprime pas.

Avez-vous une solution ?

Merci
Jerome

1 réponse

Avatar
Bismark Prods
Que penserais-tu de faire une énumération des actions pour commencer au lieu
d'ajouter et supprimer en utilise 0 ou autre chose. C'est juste une
suggestion. Ensuite, pourquoi ne pas placer tes items (leurs contenus du
moins) dans un tableau. Cela aurait l'avantage de te permettre davantage de
manipulation, peut-etre qu'en créant une méthode de remplissage de ton
combo. En tout cas je pense que je ferais comme ca pour m'épargner des
problèmes de débuggages.

au fait qu'est-ce que ton combo fait de plus que les autres ?

"jerome" a écrit dans le message de
news:3fc07a0e$0$17608$
Bonjour,

Voilà, j'ai créé un combo personnalisé.
Je lui ai aussi fait une page de propriété afin d'ajouter ou supprimer des
item.
Pour tester, j'ai ajouté un item et lancé l'appli. OK
Ensuite, j'ai rajouté un item et relancé pour voir si les deux


s'affichait,
et là premier problème.
Seul le premier item s'affiche. L'autre n'a pas été enregistré.

Second problème, la suppression des items n'est pas non plus pris en


compte.

Voici mon code du property page :
Dim APPLY As Integer ' Pour appliquer soit l'ajout soit la suppression


d'un
item

Private Sub txtList_Change()
Changed = True
End Sub

Private Sub Command1_Click()
APPLY = 0 ' On ajoute un item
PropertyPage_ApplyChanges ' on applique l'ajout
Changed = False
End Sub

Private Sub PropertyPage_ApplyChanges()
Dim i As Integer
If APPLY = 0 Then
If Text1.Text = "" Then Exit Sub
i = SelectedControls(0).ListCount
SelectedControls(0).AddItem Text1.Text, i ' on ajoute l'item dans le
controle
txtlist.AddItem Text1.Text
Text1.Text = ""
Else
SelectedControls(0).RemoveItem txtlist.ListIndex ' On supprime l'item
dans le controle
txtlist.RemoveItem txtlist.ListIndex
End If
End Sub

Private Sub PropertyPage_SelectionChanged()
Dim n As Integer
n = 0
While n <= SelectedControls(0).ListCount - 1
txtlist.AddItem SelectedControls(0).List(n)
n = n + 1
Wend
End Sub

Private Sub Text1_Change()
Changed = True
End Sub

Private Sub txtlist_DblClick()
APPLY = 1
PropertyPage_ApplyChanges
Changed = False
End Sub

J'ai oublié d'indiqué que tout fonctionne à partir du propertyPage, c'est
une fois que je test le lancement, que ca ne fonctionne pas, et que les
items ne s'ajoute pas ou supprime pas.

Avez-vous une solution ?

Merci
Jerome