MAN
Erfahrenes Mitglied
Hallo,
ist es möglich einen mehrzeiligen ToolTipText einem ListItem in einem ListView zuzuweisen? Hört sich kompliziert an, jedoch habe ich das mit dem mehrzeiligen schon irgendwie herausgefunden. Dies braucht aber leider ein hWnd:
Ein ListView hat ein hWnd, jedoch nicht ein einzelnes Item (also eine Zeile). Komischerweise kann man aber durch
einer Zeile einen ToolTipText geben. Das Problem dabei ist, dass es kein mehrzeiliger ist! 
Also: vielen vielen Dank für eure Mühe - wäre ziemlich wichtig!
mfG
MAN
ist es möglich einen mehrzeiligen ToolTipText einem ListItem in einem ListView zuzuweisen? Hört sich kompliziert an, jedoch habe ich das mit dem mehrzeiligen schon irgendwie herausgefunden. Dies braucht aber leider ein hWnd:
Code:
Option Explicit
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Type TOOLINFO
cbSize As Long
uFlags As Long
hwnd As Long
uId As Long
cRect As RECT
hinst As Long
lpszText As String
End Type
Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_USER = &H400
Private Const TTM_ADDTOOL = WM_USER + 4
Private Const TTM_SETMAXTIPWIDTH = WM_USER + 24
Private Const TTF_IDISHWND = &H1
Private Const TTF_SUBCLASS = &H10
Private hToolTip As Long
Public Sub InitToolTipText()
InitCommonControls
hToolTip = CreateWindowEx(0, "tooltips_class32", "", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SendMessage hToolTip, TTM_SETMAXTIPWIDTH, 0, 300
End Sub
Public Sub DeleteToolTipText()
DestroyWindow hToolTip
End Sub
Public Sub SetMultiLineToolTip(ByVal hwnd As Long, ByVal sToolTip As String)
Dim udtTool As TOOLINFO
udtTool.cbSize = Len(udtTool)
udtTool.hwnd = hwnd
udtTool.uFlags = TTF_IDISHWND Or TTF_SUBCLASS
udtTool.uId = hwnd
udtTool.lpszText = sToolTip
SendMessage hToolTip, TTM_ADDTOOL, 0, udtTool
End Sub
Code:
ListView1.ListItems.Item(2).ToolTipText = "BlibBlaBlub"

Also: vielen vielen Dank für eure Mühe - wäre ziemlich wichtig!
mfG
MAN