ListIconGadget - Eintrag mehrzeilig ?
ListIconGadget - Eintrag mehrzeilig ?
Hallo Leute,
kennt jemand eine Möglichkeit, Einträge in einem ListIconGadget mehrzeilig zu erstellen?
Oder ist es nur möglich, wenn ich ein eigenes Gadget bastel um dieses zu verwirklichen ?
Viele Grüße, Robert
kennt jemand eine Möglichkeit, Einträge in einem ListIconGadget mehrzeilig zu erstellen?
Oder ist es nur möglich, wenn ich ein eigenes Gadget bastel um dieses zu verwirklichen ?
Viele Grüße, Robert
PureBasic 5.71 | Windows 10 Home (x64)
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: ListIconGadget - Eintrag mehrzeilig ?
Offensichtlich geht das nur ab der 2. Spalte:

Wahrscheinlich geht mit API noch mehr.
Code: Alles auswählen
If OpenWindow(0, 0, 0, 500, 300, "ListIcon Multiline", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0, 5, 5, 490, 290, "Name", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
AddGadgetColumn(0, 1, "Info", 150)
AddGadgetColumn(0, 2, "Sonstiges", 100)
AddGadgetItem(0, -1, "Eintrag 1")
AddGadgetItem(0, -1, "Eintrag 2")
SetGadgetItemText(0, 1, "1. Zeile" + #LF$ + "2. Zeile", 1)
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
EndIf

Wahrscheinlich geht mit API noch mehr.
Re: ListIconGadget - Eintrag mehrzeilig ?
@NicTheQuick
Das geht bei Linux? Nicht schlecht, bei Windows ist es so ohne WinAPI nicht möglich.
Mit WinAPI: http://www.rsbasic.de/aktualisierung/wi ... C3%A4ge.pb
Das geht bei Linux? Nicht schlecht, bei Windows ist es so ohne WinAPI nicht möglich.
Mit WinAPI: http://www.rsbasic.de/aktualisierung/wi ... C3%A4ge.pb
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: ListIconGadget - Eintrag mehrzeilig ?
Geht das bei Windows nicht? 

Re: ListIconGadget - Eintrag mehrzeilig ?
Nein, denn Du hast einen Fehler in der Linux-Version von PB entdeckt...NicTheQuick hat geschrieben:Geht das bei Windows nicht?

(Mit der PB-Version für MacOS X funktioniert Dein Beispiel übrigens auch nicht...

Einen Fehler in der Linux-Version hast Du entdeckt, weil Chr(10) (=#LF$) eigentlich als Trennzeichen verwendet wird, um mit AddGadgetItem() und SetGadgetItemText() die Texte in mehrere aufeinander folgende Spalten in einer Zeile gleichzeitig eintragen zu können:
In der PB-Hilfe für Windows ist diese Eigenschaft übrigens auch für SetGadgetItemText() erwähnt.PB-Hilfe zu AddGadgetItem() hat geschrieben:Text$
Der Text für den neuen Eintrag.
Beim Hinzufügen eines Eintrags zu einem ListIconGadget() kann dieser Parameter den Text für mehrere Spalten enthalten - jeweils getrennt von einem Chr(10) Zeichen.
Aber es wird noch interessanter: tausche unter Linux einmal bei SetGadgetItemText() die Spalte 1 gegen 0 aus!
Dann (und nur dann) funktioniert #LF$ als Trennzeichen, um "1.Zeile" und "2.Zeile" in die Spalten 0 und 1 zu schreiben! Wenn Du aber #CR$ statt #LF$ benutzt, funktioniert in Linux wieder die Auftrennung in zwei Zeilen auch für Spalte 0!
Ein genereller Fehler bei SetGadgetItemText() unter Linux, MacOS und Windows besteht darin, dass #LF$ als Trennzeichen nur funktioniert, wenn Spalte 0 verwendet wird!
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: ListIconGadget - Eintrag mehrzeilig ?
Also ich finde es gut, wenn man es mehrzeilig machen kann. Damals in Version 3.x oder tiefer, als ich noch Windows aktiv nutzte, wusste ich, dass man es nicht mehrzeilig machen kann. Aber ich sehe es als einen Fortschritt, wenn das geht.
Re: ListIconGadget - Eintrag mehrzeilig ?
Ihr seid einfach die Besten !!!
Danke, Danke, Danke
Danke, Danke, Danke

PureBasic 5.71 | Windows 10 Home (x64)
Re: ListIconGadget - Eintrag mehrzeilig ?
Mir ist jetzt doch noch etwas aufgefallen was ich nicht ganz verstehe.
Wenn ich das Beispiel von RSBasic nehme und nur zusätzlich den Image-Parameter verwende. Funktioniert der Code nicht mehr.
Ich bin schon alles durchgegangen und komme einfach nicht dahinter warum dieser mit einem Image nicht mehr läuft.
Habt Ihr vlt. eine Idee ?
Hier mal der Testcode.
Das Image ist findet ihr hier.
http://metaebene.me/wp-content/uploads/ ... -16x16.png
Wenn ich das Beispiel von RSBasic nehme und nur zusätzlich den Image-Parameter verwende. Funktioniert der Code nicht mehr.
Ich bin schon alles durchgegangen und komme einfach nicht dahinter warum dieser mit einem Image nicht mehr läuft.
Habt Ihr vlt. eine Idee ?
Hier mal der Testcode.
Das Image ist findet ihr hier.
http://metaebene.me/wp-content/uploads/ ... -16x16.png
Code: Alles auswählen
;Autor: RASHAD
EnableExplicit
Define EventID
Define x
Define Texth
Define imageList
If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ListIconGadget(1,10,10,WindowWidth(0),WindowHeight(0),"Spalte",250,#PB_ListIcon_FullRowSelect|#PB_ListIcon_GridLines)
AddGadgetColumn(1,1,"Spalte 2",200)
Texth = SendMessage_(GadgetID(1), #LVM_GETITEMSPACING, 1, 0) >> 16 - 4
imageList = ImageList_Create_(1, 5*Texth, #ILC_COLOR32 | #ILC_MASK, 0, 0) ;for 5 lines
SendMessage_(GadgetID(1), #LVM_SETIMAGELIST, #LVSIL_SMALL, imageList)
UsePNGImageDecoder()
For x=1 To 4
AddGadgetItem(1,-1, "This is a wordwrap text demonstration in a ListIcon Gadget " + Chr(13) + "This is a separate line" + Chr(10) + "Line 1" + Chr(13) + "Line 2" + Chr(13) + "Line 3" + Chr(13) + "Line 4" + Chr(13), ImageID(LoadImage(#PB_Any, "home.png")))
Next
Repeat
EventID=WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
PureBasic 5.71 | Windows 10 Home (x64)
- Vera
- Beiträge: 928
- Registriert: 18.03.2009 14:47
- Computerausstattung: Win XP SP2, Suse 11.1
- Wohnort: Essen
Re: ListIconGadget - Eintrag mehrzeilig ?
Idee - ja.IronEagle hat geschrieben:Habt Ihr vlt. eine Idee ?
Kommentier doch mal die beiden unteren WinApi Zeilen aus, da diese doch mit einer 'imageList' zu tun haben und vermutlich Bilder in die 5 Zeilen setzen. Damit wären diese Plätze aber besetzt und akzeptieren dann keine neuen Icons mehr.
Versuch macht Kluch

°
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\