Hey,
folgendes Problem:
Eine Listviewspalte soll wie gewöhnlich durch einen Klick auf den Header sortiert werden.
Allerdings nicht in beide Richtung sondern nur in eine:
1,3,2 -> 1,2,3 -> 1,2,3 (und nicht zu 3,2,1)
Abfragen des ersten und letzten Items und ggf. nochmal sortieren möchte ich aus Geschwindigkeitsgründen vermeiden.
Bei einer anderen Abfrage müsste man auch alle Items durchgehen.
Hier das Beispiel zum Probieren:
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListview.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 327, 505, 192, 124)
$ListView1 = GUICtrlCreateListView("Test", 8, 16, 313, 401)
$Button1 = GUICtrlCreateButton("Button1", 112, 448, 105, 33, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
global $hLVHandle = GUICtrlGetHandle($ListView1)
for $i = 0 to 50
GUICtrlCreateListViewItem(Random(1,100,1), $ListView1)
next
_GUICtrlListView_RegisterSortCallBack($hLVHandle)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_GUICtrlListView_UnRegisterSortCallBack($hLVHandle)
Exit
case $ListView1
_GUICtrlListView_SortItems($hLVHandle, GUICtrlGetState($ListView1))
EndSwitch
WEnd