Italia
Foro

Tooltip per eine Zeile eines Listviews setzen

 

Julian
Schmidt
Ciao,
kann man irgendwie einer Zeile eines Listviews einen bestimmten Tooltip zuweisen?
Saluto
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
18.02.2012  
 



[offtopic]wie [...]  verschoben aus listview.dll da nichts mit der DLL zutun[/offtopic]


Hast Du Dir (z.B. mit ControlSpy) mal die Messages angesehen die beim Überfahren des Controls mit der Maus entstehen?
 
18.02.2012  
 




Julian
Schmidt
Beim Überfahren mit der Maus entstehen bei mir die Messages: WM_MouseMove, WM_SetCursor und WM_Nichittest (siehe Bild)
Aber was soll ich mit denen anfangen. Ich möchte nicht abfragen ob WM_MouseMove ausgelöst wurde, ermitteln circa welcher Zeile dies geschah, und auf dieser Position einen Tooltip malen. Gehts einfacher?

95 kB
Hochgeladen:18.02.2012
Downloadcounter83
Download
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
18.02.2012  
 



Jetzt benötigst noch die Höhe der Zeilen und den sog. TopIndex.
 
18.02.2012  
 




Julian
Schmidt
Geht es wirklich nicht einfacher? Teilweise gibt es Tooltips in Listviews (die in XProfan erzeugt wurden) schon, welche allerdings nur den aktuell Selektieren Text Mostra (etwa siehe Bild).

Nachtrag: Bild entfernt
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
18.02.2012  
 




Thomas
Freier
Einfach mal so zusammen geklebt.
KompilierenMarkierenSeparieren
 $I Listview_Funktionen.inc
var lvdll&=usedll("Listview.dll")
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' (W) 2003 Frank Abbing
'
Declare sx&,sy&,bereich#,be#,erg&,erg2&,x&,y&,text$,handl&
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"
Def GetClassName(3) !"USER32","GetClassNameA"
Def GetWindowText(3) !"USER32","GetWindowTextA"
DEF NewWindowPos(7) !"USER32","SetWindowPos"
DEF AllocConsole(0) !"KERNEL32","AllocConsole"

Proc DText

    Parameters xx&,yy&,ttext$
    Drawtext xx&,yy&,ttext$

EndProc

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
'Tooltip erstellen
'Lauffähig ab Profan-Version 5.0
'------------ Für Tooltip -----------------------
Def InitCommonControls(0) !"COMCTL32","InitCommonControls"

Proc AddToolTip

    Parameters __Handle&,__Text$
    Declare ToolinfoButton#
    Dim ToolinfoButton#,40
    Declare Text1#
    Dim Text1#,255
    String Text1#,0=__Text$
    LONG ToolinfoButton#,0=40'Strukturgroesse
    LONG ToolinfoButton#,4=$11'Flags
    LONG ToolinfoButton#,8=__Handle&
    LONG ToolinfoButton#,12=__Handle&
    LONG ToolinfoButton#,36=Text1#'Text
    @SendMessage(TipControl&,$0404,0,ToolInfoButton#)
    Dispose Text1#
    Dispose ToolinfoButton#

EndProc

InitCommonControls()
declare tipcontrol&
Declare Tiptext$
TipControl&=@Control("tooltips_class32","",$D0000000,0,0,0,0,%Hwnd,0,%HInstance)'Tooltip fuer Rest
SendMessage(TipControl&,1048,0,200)
declare exit&,e%
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

' 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%
Usermessages 16
SubClass listview&, 1

while 1

    waitinput
    case %umessage=16 :BREAK

wend

SubClass listview&, 0
DeleteObject TipControl&
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

    Tiptext$=""

    If erg&=Listview&

        x%= int((y&/21)-1+ZeileO&)'Zeile= Mausposition/ Zeilenhöhe+1(=Raster)
        Tiptext$=GetString$(LB%,x%)'Tooltiptext aus der Listbox

    EndIf

    AddTooltip Listview&,TipText$

EndProc


Geht sicher auch noch besser.

19.02.12 Nachgebessert: Tooltip auf alle Zeilen und Tooltiptext in einer Listbox.
 
Gruß Thomas
Windows XP SP2, XProfan X2
18.02.2012  
 




Julian
Schmidt
Bei mir werden keine Tooltips angezeigt
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
18.02.2012  
 




Thomas
Freier
???
Ist nur in 1. + 2. Zeile und es dauert etwas bis er angezeigt wird.

 
Gruß Thomas
Windows XP SP2, XProfan X2
18.02.2012  
 




Julian
Schmidt
jup, scheint zu funktionieren...
thx
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
18.02.2012  
 



Message LVM_SETINFOTIP, ab XP.
 
18.02.2012  
 



Sehr gut, mit LVM_SETINFOTIP ( [...]  ) kann man sich offensichtlich viel Arbeit sparen.
 
19.02.2012  
 




Julian
Schmidt
Kann jemand ein Beispiel erstellen?
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
19.02.2012  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

28.117 Views

Untitledvor 0 min.
Uwe Lang13.04.2020
RudiB.08.08.2019
H.Brill30.12.2018
Member 154727723.09.2018
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie