Détecter item sélectionné dans une listview pour maj info tps reel ?

Le
ZoroBozo
Salut à tous,

J'ai une listview pour laquelle je voudrais afficher des info (une sorte
de detail contenant des choses qui ne sont pas montrées sur la ligne de
l'item en liste) de l'item sélectionné courant en temps réel, dans un
textbox multi-lignes.

Récupérer les info en question à partir de l'item sélectionné n'est pas
un problème, mais je ne vois pas exactement quels évènements considérer
pour que cette zone info soit bien mise à jour à chaque changement de
sélection ; achant qu'intem peut être sélectionné à la souris (là, je
peux déclencher au maliste_Click()) ou au clavier (peut-être au
maliste_KeyPress() ?)

Qu'en pensez-vous ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
ZoroBozo
Le #19928541
In article says...
Salut à tous,

J'ai une listview pour laquelle je voudrais afficher des info (une sorte
de detail contenant des choses qui ne sont pas montrées sur la ligne de
l'item en liste) de l'item sélectionné courant en temps réel, dans un
textbox multi-lignes.




Bon apparemment, je m'étais imaginé ça plus compliqué (parfois, on se
demande), mais déclencher sur les évènements click et keyup de la liste,
ainsi qu'à son chargement (puisque par défaut, le premier élément semble
sélectionné) suffit.

Un tit projet test :) Copie du contenu de Form1.frm d'un Projet1.vbp

VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 5190
ClientLeft = 60
ClientTop = 345
ClientWidth = 6225
LinkTopic = "Form1"
ScaleHeight = 5190
ScaleWidth = 6225
StartUpPosition = 3 'Windows Default
Begin VB.TextBox text1
Height = 285
Left = 465
TabIndex = 0
Text = "Démontre comment détecter élément
actuellement sélectionné en liste"
Top = 150
Width = 5205
End
Begin MSComctlLib.ListView list1
Height = 3420
Left = 465
TabIndex = 1
Top = 570
Width = 5205
_ExtentX = 9181
_ExtentY = 6033
View = 3
LabelWrap = 0 'False
HideSelection = 0 'False
_Version = 393217
ForeColor = -2147483640
BackColor = -2147483643
BorderStyle = 1
Appearance = 1
NumItems = 1
BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-
00C0F0283628}
Text = "Elt."
Object.Width = 2540
EndProperty
End
Begin VB.Label label1
AutoSize = -1 'True
Caption = "Elément actuel :"
Height = 195
Left = 495
TabIndex = 2
Top = 4245
Width = 1140
End
Begin VB.Label label2
Alignment = 2 'Center
BorderStyle = 1 'Fixed Single
Height = 285
Left = 1725
TabIndex = 3
Top = 4230
Width = 3840
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Sub info()
label2.Caption = list1.SelectedItem.Key
End Sub

Private Sub Form_Load()
For i = 1 To 30
elt = "A" & Str(i)
list1.ListItems.Add , elt, elt
info
Next
End Sub

Private Sub list1_Click()
info
End Sub

Private Sub list1_KeyUp(KeyCode As Integer, Shift As Integer)
info
End Sub
Publicité
Poster une réponse
Anonyme