En manipulation de ListView il est possible, comme dans l'exemple joint d'ordonner une sélection de ligne(s) par _GUICtrlListView_SetItemSelected.
A ce stade le fond de ligne est bleu.
Il le reste aussi après un clic-droit et ouverture d'un MenuContext
Code : Tout sélectionner
#include <GuiListView.au3>
Opt("GUIOnEventMode", 1)
Global $listview
GUICreate("Test", 220, 200, -1, -1)
GUISetBkColor(0x00E0FFFF)
GUISetOnEvent(-3,"_quit")
$listview = GUICtrlCreateListView("N°|ColA|ColB", 10, 10, 200, 142,$LVS_SHOWSELALWAYS)
Local $menu = GUICtrlCreateContextMenu($listView)
Local $menuA = GUICtrlCreateMenuItem("Test", $menu)
Local $bouton = GUICtrlCreateButton("EnsureVisible ligne 5", 40, 170, 120, 20)
GUICtrlSetOnEvent($bouton,"_revoir")
For $i=1 to 20
GUICtrlCreateListViewItem($i&"|texte A" & $i & "|valeur " & $i, $listview)
Next
_GUICtrlListView_SetItemSelected($listview, 4)
GUISetState()
While 1
Sleep(1000)
WEnd
Func _revoir()
_GUICtrlListView_EnsureVisible($listView,4)
_GUICtrlListView_SetItemSelected($listview,4,False,False)
Sleep(1000)
_GUICtrlListView_SetItemSelected($listview,4,True,True)
EndFunc
Func _quit()
GUIDelete()
Exit
EndFunc
Func _menuA()
Sleep(100)
EndFunc
Le fond gris clair ne permet pas un repérage aisé dans le défilement/exploration de longues listes !
Peut-on remédier à cela et forcer la couleur d'origine à réapparaître ?
Merci pour toute info...