| |
|
|
- Página 1 - |
|
Julian Schmidt | ¡Hola, puede ser irgendwie uno Línea uno Listviews una cierto Tooltip zuweisen? Saludo |
|
|
| |
|
|
| |
|
- Página 2 - |
|
|
| |
|
| |
|
|
|
Julian Schmidt | Como kommt..
Fehler en Struktur- oder Klassendefinition CBSIZE KompilierenMarcaSeparaciónstruct LVSETINFOTIP=cbSize,dwFlags,pszText,iItem,iSubItem
declare m#
dim m#,20
long m#,0=20,0,"Test",0,0
sendmessage(listview&,LVM_SETINFOTIP,0,m#)
dispose |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Julian Schmidt | Scheint todavía no a trabajo... KompilierenMarcaSeparaciónDef GetSysColor(1) !"USER32","GetSysColor"
$I Listview_Funktionen.inc
var lvdll&=usedll("Listview.dll")
cls GetSysColor(15)
var listview&=CreateListView(%hwnd,%hinstance,0,GetSysColor(15),-1,$431)
whileloop 10
InsertColumn listview&,"Spalte"+STr$(&loop)-1,50,0
Endwhile
whileloop 30
SetItem listview&,"Text1","Text2","Text3","Text4","Text5","Text6","Text7","Text8","Text9"
Endwhile
ShowListView(listview&,0,0,width(%hwnd),height(%hwnd))
Declare m#
Dim m#,20
Long m#,0=20,0,"Test",0,0
Sendmessage(listview&,4096+173,0,m#)
Dispose m#
InitMessages(%hwnd)
While 1
waitinput
Endwhile
CloseMessages(%hwnd)
freedll lvdll&
$I Listview_Dispose.inc
end
|
|
|
| |
|
|
|
| Lade veces una komplettes Projekt hoch (si el listview.dll nutzt) oder una Ver código fuente el sin DLL auskommt. |
|
|
| |
|
|
|
Julian Schmidt |
|
|
| |
|
|
|
Thomas Freier | Mit el Listview.dll y TTIP.pcu dejar se doch bastante simplemente tolle Tooltips redactar.
Oder sin TTIP.pcu KompilierenMarcaSeparación $I Listview_Funktionen.inc
var lvdll&=usedll("Listview.dll")
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' (W) 2003 Frank Abbing
'
Declare bereich#,be#,erg&,erg2&,x&,y&,text$
Dim be#,8
Dim bereich#,1024
DEF GetCursorPos(1) !"USER32","GetCursorPos"
DEF WindowFromPoint(2) !"USER32","WindowFromPoint"
DEF ChildWindowFromPoint(3) !"USER32","ChildWindowFromPoint"
Def GetSysColor(1) !"USER32","GetSysColor"
Def ScreenToClient(2) !"USER32","ScreenToClient"
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SetTrueColor 1
cls GetSysColor(15)
var listview&=CreateListView(%hwnd,%hinstance,-1,9356944,-1,$20)
InsertColumn listview&,"1.Spalte",120,0
InsertColumn listview&,"2.Spalte",120,0
Whileloop 50
AddString(listview&,"mit|HERZ "+str$(&loop))
wend
'Liste Tooltips
vaR LB%=CreateListBox(%hwnd,0,0,0,0,0)
Whileloop GetCount(listview&)
AddString(LB%,"Tooltip "+str$(&loop))
wend
var ToolTip&=create("Tooltip",%hwnd,listview&,"")
' Zeilenhöhe im Listview festlegen oder ermitteln und in einer Variablen speichern
' für die spätere Berechnung: Curserposition ist in Zeile
var freelist&=SetLineHeight(listview&,20)
ShowListView(listview&,10,160,400,200)
Declare ZeileO&,ZeileU&,x%,y%,xold%
Usermessages 16
SubClass listview&, 1
while 1
waitinput
case %umessage=16 :BREAK
wend
SubClass listview&, 0
DestroyWindow(%hwnd)
DestroyImageList(freelist&)
dispose be#
dispose bereich#
freedll lvdll&
end
SubClassProc
Clear bereich#
GetVisibleLines(listview&,bereich#)
ZeileO&=Long(bereich#,0)'Obere sichtbare Zeile
ZeileU&=Long(bereich#,4)'Untere sichtbare Zeile
GetCursorPos(be#)
x&=Long(be#,0)
y&=Long(be#,4)
erg&=@WindowFromPoint(x&,y&)
If erg&<>0
ScreenToClient(erg&,be#)
x&=Long(be#,0)'Maus Position X
y&=Long(be#,4)'Maus Position Y
erg2&=@ChildWindowFromPoint(erg&,x&,y&)'Handle unter Mauszeiger
EndIf
x%= int((y&/21)-1+ZeileO&)'Zeile= Mausposition/ Zeilenhöhe+1(=Raster)
if x%<>xold%
settext ToolTip&,%hwnd,Listview&,""
If erg&=Listview&
settext ToolTip&,%hwnd,Listview&,getstring$(LB%,x%)
xold%=x%
EndIf
EndIf
Set("WinProc",1s=s2>)
ENDPROC
|
|
|
| |
|
|
|
Julian Schmidt | Schon, todavía es el weg encima Subclassing umständlich |
|
|
| |
|
|
|
Thomas Freier | Ist natürlich auch con GetMessage posible. KompilierenMarcaSeparación $I Listview_Funktionen.inc
var lvdll&=usedll("Listview.dll")
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' (W) 2003 Frank Abbing
'
Declare bereich#,be#,erg&,erg2&,x&,y&,text$
Dim be#,8
Dim bereich#,1024
DEF GetCursorPos(1) !"USER32","GetCursorPos"
DEF WindowFromPoint(2) !"USER32","WindowFromPoint"
DEF ChildWindowFromPoint(3) !"USER32","ChildWindowFromPoint"
Def GetSysColor(1) !"USER32","GetSysColor"
Def ScreenToClient(2) !"USER32","ScreenToClient"
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SetTrueColor 1
cls GetSysColor(15)
var listview&=CreateListView(%hwnd,%hinstance,-1,9356944,-1,$20)
InsertColumn listview&,"1.Spalte",120,0
InsertColumn listview&,"2.Spalte",120,0
Whileloop 50
AddString(listview&,"mit|HERZ "+str$(&loop))
wend
'Liste Tooltips
vaR LB%=CreateListBox(%hwnd,0,0,0,0,0)
Whileloop GetCount(listview&)
AddString(LB%,"Tooltip "+str$(&loop))
wend
var ToolTip&=create("Tooltip",%hwnd,listview&,"")
' Zeilenhöhe im Listview festlegen oder ermitteln und in einer Variablen speichern
' für die spätere Berechnung: Curserposition ist in Zeile
var freelist&=SetLineHeight(listview&,20)
ShowListView(listview&,10,160,400,200)
Declare ZeileO&,ZeileU&,x%,y%,xold%
Usermessages 16
while 1
GetMessage
case %umessage=16 :BREAK
GetVisibleLines(listview&,bereich#)
ZeileO&=Long(bereich#,0)'Obere sichtbare Zeile
GetCursorPos(be#)
erg&=@WindowFromPoint(Long(be#,0),Long(be#,4))
If erg&=Listview&
ScreenToClient(erg&,be#)
y&=Long(be#,4)
x%= int((Long(be#,4)/21)-1+ZeileO&)
If x%<>xold%
settext ToolTip&,%hwnd,Listview&,getstring$(LB%,x%)
xold%=x%
EndIf
EndIf
wend
DestroyWindow(%hwnd)
DestroyImageList(freelist&)
dispose be#
dispose bereich#
freedll
end
|
|
|
| |
|
|
|
Julian Schmidt | Natürlich, allerdings fände Yo, el weg encima LVM_SETINFOTIP mejor. Schade el anscheinend keiner weiß por qué esta en el Ejemplo no funktioniert [...] . |
|
|
| |
|
|
|
| Scheint auch no a klappen si yo pszText en el Unicode Formato absende.
Probiere doch veces el Unicode-ListView-Control -
Yo glaube Nico Madysa hatte que aquí veces a verschiedenen Stellen vorgestellt -
z.B. hier ( [...] ) . |
|
|
| |
|
|
|
Julian Schmidt | Dass se allerdings wohl kaum con Listview.dll kompatibel ser, como Aprovecho más bien el Variante por Thomas. Thx euch allen. Werds ahora simplemente einbauen. |
|
|
| |
|
|