| |
|
|
| Thomas Freier (22.05.13)
cela hatten wir doch, je crois beim Stundenplan. ici un min. Beispiel pour Tooltip: $H Windows.ph
$H commctrl.ph
Struct LVHitTestInfo = X&,Y&,flags&,Item&,SubItem&
Déclarer LVHTI#,LView&,l%
Faible LVHTI#,LVHitTestInfo
Proc LV_HitTest
Paramètres LV&,X%,Y%
~GetCursorPos(LVHTI#)
~ScreenToClient(LV&,LVHTI#)
SendMessage(LV&,~LVM_SUBITEMHITTEST,0,LVHTI#)
Retour LVHTI#.SubItem&
ENDPROC
Cls
LView& = Créer("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$(&Boucle) + "|1 Test " + Str$(&Boucle) + "|2 Test " + Str$(&Boucle) + "|")
Wend
var text$="Was ist car überhaupt un Listview? \nOb vous's croyons ou bien pas. "+ \
"Sobald vous ihren Windows-PC anschalten, erscheint déjà cela erste Listview."+ \
"Wo, fragen vous? sur ihrem Bildschirm.\nDer Windows Bildschirm ist nämlich rien d'autre comme un Listview.\n"+ \
"(FRABBING)"
SetText LView&, 1, 3, text$
sendmessage(Lview&,~LVM_SETEXTENDEDLISTVIEWSTYLE,0,~LVM_SUBITEMHITTEST)'markiert qui la ligne sous qui souris
'sendmessage(LView&,0,~LVM_SETHOVERTIME,10) 'löst pratique un Mausklick aus ????
var ToolTip&=create("Tooltip",%hwnd,LView&,»)
var medit%=Créer("MultiEdit",%hwnd,»,0,0,300,-400)
ShowWindow(medit%,0)
Tandis que 1
WaitInput 100
l% = LV_HitTest(LView&,%mousex,%mousey)
'
SELECT LVHTI#.Item&
CASEOF 1'ZEILE
Si LVHTI#.SubItem&=3'ITEM
SetText medit%,GetText $(LView&,LVHTI#.Item&,LVHTI#.SubItem&)
text$=»
Whileloop GetLineCount(medit%)'Anzahl Zeilen
text$=text$+GetLine$(medit%,&loop-1)+"\n"'einzelne Zeilen auslesen et Zeilenumbruch
Wend
settext ToolTip&,%hwnd,LView&,text$
EndIf
CASEOF 3'ZEILE
settext ToolTip&,%hwnd,LView&,"erste Wahl"
OTHERWISE
settext ToolTip&,%hwnd,LView&,»
ENDSELECT
Wend
end
Müßte sûrement sur SubClassProc umgestellt volonté. |
|
|
| |
|
|