| |
|
|
- Page 1 - |
|
Jörg Sellmeyer | Hiermit bekomme ich zwar die Zeile raus aber wie bekomme Io l' Index des angeklickten Items?
$H Windows.ph
$H commctrl.ph
Struct LVHitTestInfo = X&,Y&,flags&,Item&,SubItem&
Declare LVHTI#,LView&
Dim LVHTI#,LVHitTestInfo
Proc LV_HitTest
Parameters LV&,X%,Y%
~GetCursorPos(LVHTI#)
~ScreenToClient(LV&,LVHTI#)
Return SendMessage(LV&,~LVM_HITTEST,0,LVHTI#)
EndProc
Cls
LView& = Create("GridBox",%hwnd,"Test;0;100;Test1;0;100",0,100,10,210,200)
WhileLoop 0,4
AddString(LView&,"0 Test " + Str$(&Loop) + "|1 Test " + Str$(&Loop))
Wend
While 1
WaitInput
Print LV_HitTest(LView&,%mousex,%mousey)
Wend
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 21.08.2008 ▲ |
|
|
|
|
« Dieser Beitrag wurde als Lösung gekennzeichnet. » |
|
Jörg Sellmeyer | Super! Das stand gar nicht in der Win32.hlp und ich dachte, man müßte das noch durch andere Strukturen auslesen. So gehts jetzt:
$H Windows.ph
$H commctrl.ph
Struct LVHitTestInfo = X&,Y&,flags&,Item&,SubItem&
Declare LVHTI#,LView&,l%
Dim LVHTI#,LVHitTestInfo
Proc LV_HitTest
Parameters LV&,X%,Y%
~GetCursorPos(LVHTI#)
~ScreenToClient(LV&,LVHTI#)
SendMessage(LV&,~LVM_SUBITEMHITTEST,0,LVHTI#)
Return LVHTI#.SubItem&
EndProc
Cls
LView& = Create("GridBox",%hwnd,"Test 0;0;100;Test 1;0;100;Test 2;0;100;Test 3;0;100",0,200,10,410,200)
WhileLoop 0,4
AddString(LView&,"0 Test " + Str$(&Loop) + "|1 Test " + Str$(&Loop) + "|2 Test " + Str$(&Loop) + "|3 Test " + Str$(&Loop))
Wend
While 1
WaitInput
Cls
l% = LV_HitTest(LView&,%mousex,%mousey)
Case l% > -1:Print GetText$(LView&,LVHTI#.Item&,LVHTI#.SubItem&)
Wend
LVM_SUBITEMHITTEST
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 21.08.2008 ▲ |
|
|
|
|
|
Frank Abbing | LVM_SUBITEMHITTEST |
|
|
| |
|
|
|
Jörg Sellmeyer | Super! Das stand gar nicht in der Win32.hlp und ich dachte, man müßte das noch durch andere Strukturen auslesen. So gehts jetzt:
$H Windows.ph
$H commctrl.ph
Struct LVHitTestInfo = X&,Y&,flags&,Item&,SubItem&
Declare LVHTI#,LView&,l%
Dim LVHTI#,LVHitTestInfo
Proc LV_HitTest
Parameters LV&,X%,Y%
~GetCursorPos(LVHTI#)
~ScreenToClient(LV&,LVHTI#)
SendMessage(LV&,~LVM_SUBITEMHITTEST,0,LVHTI#)
Return LVHTI#.SubItem&
EndProc
Cls
LView& = Create("GridBox",%hwnd,"Test 0;0;100;Test 1;0;100;Test 2;0;100;Test 3;0;100",0,200,10,410,200)
WhileLoop 0,4
AddString(LView&,"0 Test " + Str$(&Loop) + "|1 Test " + Str$(&Loop) + "|2 Test " + Str$(&Loop) + "|3 Test " + Str$(&Loop))
Wend
While 1
WaitInput
Cls
l% = LV_HitTest(LView&,%mousex,%mousey)
Case l% > -1:Print GetText$(LView&,LVHTI#.Item&,LVHTI#.SubItem&)
Wend
LVM_SUBITEMHITTEST
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 21.08.2008 ▲ |
|
|
|
|
Frank Abbing | Die Win32.hlp ist in manchen Bereichen unvollständig. Im Zweifelsfall doch noch bei MSDN nachsehen. |
|
|
| |
|
|