| |
|
|
| Thomas Freier (22.05.13)
Das hatten wir doch, Yo glaube beim Stundenplan. Hier una min. Ejemplo para Tooltip: $H Windows.ph
$H commctrl.ph
Struct LVHitTestInfo = X&,Y&,flags&,Item&,SubItem&
Declarar LVHTI#,LView&,l%
Dim LVHTI#,LVHitTestInfo
Proc LV_HitTest
Parámetros LV&,X%,Y%
~GetCursorPos(LVHTI#)
~ScreenToClient(LV&,LVHTI#)
SendMessage(LV&,~LVM_SUBITEMHITTEST,0,LVHTI#)
Volver LVHTI#.SubItem&
ENDPROC
Cls
LView& = Crear("GridBox",%hwnd,"Test 0;0;100;Test 1;0;100;Test 2;0;100;Bemerkung;0;100",0,20,10,410,200)
WhileLoop 0,4
AddStrings(LView&,"0 Test " + Str$(&Loop) + "|1 Test " + Str$(&Loop) + "|2 Test " + Str$(&Loop) + "|")
Wend
var texto$="Was es porque überhaupt una Listview? \nOb ellos's glauben oder no. "+ \
"Sobald ellos ihren Windows-PC anschalten, erscheint ya el erste Listview."+ \
"Wo, fragen ellos? Auf ihrem Bildschirm.\nDer Windows Bildschirm es nämlich nichts más como una Listview.\n"+ \
"(FRABBING)"
SetText LView&, 1, 3, texto$
sendmessage(Lview&,~LVM_SETEXTENDEDLISTVIEWSTYLE,0,~LVM_SUBITEMHITTEST)'markiert el Línea bajo ratón
'sendmessage(LView&,0,~LVM_SETHOVERTIME,10) 'löst praktisch una Mausklick de ????
var ToolTip&=create("Tooltip",%hwnd,LView&,"")
var medit%=Crear("MultiEdit",%hwnd,"",0,0,300,-400)
ShowWindow(medit%,0)
Mientras que 1
WaitInput 100
l% = LV_HitTest(LView&,%mousex,%mousey)
'
SELECT LVHTI#.Item&
CASEOF 1'ZEILE
If LVHTI#.SubItem&=3'ITEM
SetText medit%,GetText $(LView&,LVHTI#.Item&,LVHTI#.SubItem&)
texto$=""
Whileloop GetLineCount(medit%)'Anzahl Zeilen
texto$=texto$+GetLine$(medit%,&bucle-1)+"\n"'einzelne Zeilen auslesen y Zeilenumbruch
Wend
settext ToolTip&,%hwnd,LView&,texto$
EndIf
CASEOF 3'ZEILE
settext ToolTip&,%hwnd,LView&,"erste Wahl"
OTHERWISE
settext ToolTip&,%hwnd,LView&,""
ENDSELECT
Wend
end
Müßte sicher en SubClassProc umgestellt voluntad. |
|
|
| |
|
|