ich habe heute versucht mehrzeilige ToolTips zu erstellen. Leider geht Chr(13) (+ Chr(10)) nicht bei GadgetToolTip(). Und WinApi möchte ich nicht

Danke

Lukaso
Als Feature-Request an Fred weitergeleitet.Lukaso hat geschrieben:ich habe heute versucht mehrzeilige ToolTips zu erstellen. Leider geht Chr(13) (+ Chr(10)) nicht bei GadgetToolTip(). Und WinApi möchte ich nicht![]()
DankeAndre hat geschrieben:Als Feature-Request an Fred weitergeleitet.
Unterstütze diesen Wunsch übrigens auch...
Code: Alles auswählen
Structure ToolTipExStructure
Window.l
Gadget.l
hWndToolTip.l
EndStructure
NewList ToolTipExList.ToolTipExStructure()
;Supports Multi Line GadgetToolTip
;for Multi Line use : ...Chr(13) + Chr(10)...
Procedure GadgetToolTipEx(Window.l, Gadget.l, ToolTipText.s , ToolTipTitle.s)
found.b
index.l
ResetList(ToolTipExList())
found = #False
While NextElement(ToolTipExList())
If ToolTipExList()\Window = Window And ToolTipExList()\Gadget = Gadget
found = #True
index = ListIndex(ToolTipExList())
LastElement(ToolTipExList())
EndIf
Wend
If found = #True
SelectElement(ToolTipExList(), index)
hWndToolTip = ToolTipExList()\hWndToolTip
Else
LastElement(ToolTipExList())
AddElement(ToolTipExList())
ToolTipExList()\Window = Window
ToolTipExList()\Gadget = Gadget
hWndToolTip = CreateWindowEx_(0, "ToolTips_Class32", "", #WS_POPUP | #TTS_NOPREFIX, 0, 0, 0, 0, WindowID(Window), 0, GetModuleHandle_(0), 0)
ToolTipExList()\hWndToolTip = hWndToolTip
EndIf
SendMessage_(hWndToolTip, #TTM_SETTIPTEXTCOLOR, GetSysColor_(#COLOR_INFOTEXT), 0)
SendMessage_(hWndToolTip, #TTM_SETTIPBKCOLOR, GetSysColor_(#COLOR_INFOBK), 0)
SendMessage_(hWndToolTip, #TTM_SETMAXTIPWIDTH, 0, 2.2 * Len(ToolTipText))
Tip.TOOLINFO\cbSize = SizeOf(TOOLINFO)
Tip\uFlags = #TTF_IDISHWND | #TTF_SUBCLASS
Tip\hWnd = GadgetID(Gadget)
Tip\uId = GadgetID(Gadget)
Tip\lpszText = @ToolTipText
SendMessage_(hWndToolTip, #TTM_ADDTOOL, 0, Tip)
If ToolTipTitle > ""
SendMessage_(hWndToolTip, #TTM_SETTITLE, 0, @ToolTipTitle)
EndIf
EndProcedure
;* * * * * * * * * *
Enumeration
#Window
#String1
#String2
#String3
#String4
EndEnumeration
If OpenWindow(#Window, 200, 200, 290, 200, #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered , "Example GagdetToolTipEx")
If CreateGadgetList(WindowID(#Window))
StringGadget(#String1, 20, 20, 250, 25, "Standard ToolTip", #PB_String_ReadOnly)
GadgetToolTipEx(#Window, #String1, "Standard ToolTip Standard ToolTip Standard ToolTip Standard ToolTip Standard ToolTip Standard ToolTip", "")
StringGadget(#String2, 20, 65, 250, 25, "Multi Line ToolTip", #PB_String_ReadOnly)
GadgetToolTipEx(#Window, #String2, "Multi Line" + Chr(13) + Chr(10) + "ToolTip", "")
StringGadget(#String3, 20, 110, 250, 25, "ToolTip with Title", #PB_String_ReadOnly)
GadgetToolTipEx(#Window, #String3, "ToolTip with Title", "ToolTipTitle")
StringGadget(#String4, 20, 155, 250, 25, "Multi Line ToolTip with Title", #PB_String_ReadOnly)
GadgetToolTipEx(#Window, #String4, "ToolTip with Title" + Chr(13) + Chr(10) + "and Multi Line", "ToolTipTitle")
Repeat
Until WaitWindowEvent() = #PB_EventCloseWindow
EndIf
EndIf
End
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Was ist eigentlich daraus geworden? In der PB 4 Hilfe steht nix davon, meine testes schlagen alle fehl.Andre hat geschrieben:Als Feature-Request an Fred weitergeleitet.Lukaso hat geschrieben:ich habe heute versucht mehrzeilige ToolTips zu erstellen. Leider geht Chr(13) (+ Chr(10)) nicht bei GadgetToolTip(). Und WinApi möchte ich nicht![]()
Unterstütze diesen Wunsch übrigens auch...
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Keine Ahnung...AND51 hat geschrieben:Was ist eigentlich daraus geworden? In der PB 4 Hilfe steht nix davon, meine testes schlagen alle fehl.
Hatte fred nur seinen Anrufbeantworter dran und deine Nachricht noch nciht abgehört?
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End