ListView: Tooltip bei überlangem Text

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

ListView: Tooltip bei überlangem Text

Beitrag von c4s »

Zuerst suchte ich die Lösung hierfür ... und nun endlich habe ich auch eine
gefunden:

Code: Alles auswählen

#Window = 1
#ListIcon = 2
#Text = 3
#ListView = 4
#LVS_EX_LABELTIP = $4000


If OpenWindow(#Window, #PB_Ignore, #PB_Ignore, 200, 420, "ListView Tooltip", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(#Window))
	ListIconGadget(#ListIcon, 0, 0, 200, 200, "ListIconGadget:", 200)
	 SendMessage_(GadgetID(#ListIcon), #LVM_SETEXTENDEDLISTVIEWSTYLE, 0, #LVS_EX_LABELTIP)
	TextGadget(#Text, 0, 200, 200, 20, "'ListViewGadget':")
	ListIconGadget(#ListView, 0, 220, 200, 200, "", 170, #LVS_NOCOLUMNHEADER)
	 SendMessage_(GadgetID(#ListView), #LVM_SETEXTENDEDLISTVIEWSTYLE, 0, #LVS_EX_LABELTIP)
EndIf

For i = 1 To 100
	Text.s = RSet("", i, Chr(Random(95) + 32))
	AddGadgetItem(#ListIcon, -1, Text)
	AddGadgetItem(#ListView, -1, Text)
Next i

Repeat: Until WaitWindowEvent() = #PB_Event_CloseWindow: End
Bei einem klassischen ListViewGadget von PB funktioniert das leider nicht.
Aber kein Problem: Mit dem ListIconGadget kann man sich auch prima ein
ListViewGadget basteln (siehe Beispiel)!


Also ich wünsche euch viel Freude damit ;)
mfg c4s

P.S.
Sollte wohl in PB per Flag-Option eingefügt werden, da ich diesen Tooltip
als äußerst (!) wichtig empfinde..
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Benutzeravatar
hjbremer
Beiträge: 822
Registriert: 27.02.2006 22:30
Computerausstattung: von gestern
Wohnort: Neumünster

Beitrag von hjbremer »

klitzekleine Verbesserung damit die bestehenden Exstyles erhalten bleiben, wie z.B. Gridlines

Code: Alles auswählen

   exstyle = SendMessage_(GadgetID(#ListView), #LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
   exstyle | #LVS_EX_LABELTIP
   SendMessage_(GadgetID(#ListView), #LVM_SETEXTENDEDLISTVIEWSTYLE, 0, exstyle) 
Purebasic 5.70 x86 5.72 X 64 - Windows 10

Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

danke benutz ich schon für viele Sachen.
Win11 x64 | PB 6.20
Antworten