Autor: Horst (---.hsi.kabel-badenwuerttemberg.de)
Datum: 13.06.21 12:38
'"Hab da mal was vorbereitet:"
'Vielleicht braucht es jemand...
'------------------------------------------------
$H Windows.ph
$H commctrl.ph
DECLARE GRID&,aus&
'-------------------------------------------------------------
Struct LVHitTestInfo = X&,Y&,flags&,Item&,SubItem&
Declare LVHTI#,LView&,Header&
Dim LVHTI#,LVHitTestInfo
'-------------------------------------------------------------
Proc LV_HitTest
Parameters LV&,X%,Y%
~GetCursorPos(LVHTI#)
~ScreenToClient(LV&,LVHTI#)
SendMessage(LV&,~LVM_SUBITEMHITTEST,0,LVHTI#)
EndProc
'----------------------------------------------------------------
WindowTitle "Sortiertes Grid"
Window 600, 400
Grid& = Create("Gridbox", %HWnd, "Nummer;0;60;Name;0;100;Ort;0;120;Gehalt;0;60", 0, 10, 50, 350, 250)
aus& = Create("Button", %HWnd, "Ende", 500, 0,60, 25)
'-----------------------------------------------------------------
Header&=sendmessage(Grid&,~LVM_GETHEADER,0,0)'
setstyle Header&,$50000002'--Header aktivieren
'-------------------------------------------------------------------
DATEN
WhileNot Clicked(aus&)
WaitInput
ClearList 0
Move("HandleToList", Grid&)
IF GETFOCUS(Grid&)
LV_HitTest Grid&,%mousex,%mousey
Locate 0,0
'Achtung - gelesen wird ab 0, sortiert mit 1 !!!
CASE LVHTI#.SubItem& = 0:SORTLIST "|",1,5
CASE LVHTI#.SubItem& = 1:SORTLIST "|",2,3
CASE LVHTI#.SubItem& = 2:SORTLIST "|",3,3
CASE LVHTI#.SubItem& = 3:SORTLIST "|",4,5
ENDIF
ClearList Grid&
Move("ListToHandle", Grid&)
'----------------------------------------------
Case %Key = 2 : Break
EndWhile
End
'----------------------------------------------------------------
PROC DATEN
AddString(Grid&, "500|Maier|Köln|4000")
AddString(Grid&, "400|Schmidt|Hamburg|3000")
AddString(Grid&, "300|Bauer|Mannheim|3500")
AddString(Grid&, "200|Klein|Düsseldorf|3000")
AddString(Grid&, "100|Fuchs|Stuttgart|7500")
ENDPROC
mfG Horst
|
|