Letzte Zeile bei ListIconGadget() immer leer?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Letzte Zeile bei ListIconGadget() immer leer?

Beitrag von Delle »

Hallo,

kann es sein, dass die letzte Zeile beim ListIconGadget() immer leer ist?

Beispiel:

Code: Alles auswählen

ListIconGadget(#Liste,10,10,315,265,"Filename",250,#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
AddGadgetColumn(#Liste,1,"Type",44)
For i=0 To 35:AddGadgetItem(#Liste, -1, "123"+Chr(10)+"456"):Next
Danke,
Delle
PB 6.21 | Win 11
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Letzte Zeile bei ListIconGadget() immer leer?

Beitrag von RSBasic »

Bitte poste immer einen vollständigen Beispielcode, also auch mit OpenWindow und Event-Schleife. Sonst müssen wir, wenn wir dir helfen wollen, selbst zusätzlich eins erstellen.
Dass die "letzte Zeile" leer ist, ist normal. Das liegt an der von dir eingestellten Höhe des ListIconGadgets.
Wenn du stattdessen die Höhe "266" nimmst, dann hast du diese "leere Zeile" nicht.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Letzte Zeile bei ListIconGadget() immer leer?

Beitrag von ts-soft »

RSBasic hat geschrieben:Bitte poste immer einen vollständigen Beispielcode, also auch mit OpenWindow und Event-Schleife. Sonst müssen wir, wenn wir dir helfen wollen, selbst zusätzlich eins erstellen.
+1
Ich finde es auch immer unmöglich, das hier hunderte von Helfern genötigt werden, 3, 4 oder noch mehr
Zeilen hinzuzufügen, wobei es doch reichen würde, wenn der Autor dies einmalig macht.

Ich ignoriere solche Beiträge weitgehend, hab keine Lust, das man darauf immer und immer wieder
hinweisen muß.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Re: Letzte Zeile bei ListIconGadget() immer leer?

Beitrag von Delle »

RSBasic hat geschrieben:Dass die "letzte Zeile" leer ist, ist normal. Das liegt an der von dir eingestellten Höhe des ListIconGadgets. Wenn du stattdessen die Höhe "266" nimmst, dann hast du diese "leere Zeile" nicht.
Wieso ist das so? Verstehe gerade den Zusammenhang nicht.
ts-soft hat geschrieben:Ich finde es auch immer unmöglich, das hier hunderte von Helfern genötigt werden, 3, 4 oder noch mehr Zeilen hinzuzufügen, wobei es doch reichen würde, wenn der Autor dies einmalig macht.
Nun ich poste eben nur die relevanten Teile vom Code, in dem Fall reicht das ja auch vollkommen aus.

Ich gehe eigentlich davon aus, dass die Forenmitglieder hier das Problem "auf einen Blick" erkennen und nicht erst den kompletten Code brauchen um damit im Interpreter rumzutesten etc.
PB 6.21 | Win 11
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Letzte Zeile bei ListIconGadget() immer leer?

Beitrag von ts-soft »

Delle hat geschrieben:Nun ich poste eben nur die relevanten Teile vom Code, in dem Fall reicht das ja auch vollkommen aus.
Eigentlich reicht das höchst selten, nämlich nur dann, wenn alles klar ist und somit die Frage überflüssig.
Delle hat geschrieben:Ich gehe eigentlich davon aus, dass die Forenmitglieder hier das Problem "auf einen Blick" erkennen und nicht erst den kompletten Code brauchen um damit im Interpreter rumzutesten etc.
Welchen Interpreter :?
Das mit dem "auf einen Blick" wird wohl meist nicht funktionieren. Aber viele andere gehen sogar davon aus,
das hier alle Forenmitglieder Ihre Glaskugel parat haben, somit ist Dein "von Ausgehen" ja fast noch verständlich :mrgreen:

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Letzte Zeile bei ListIconGadget() immer leer?

Beitrag von RSBasic »

@Delle
Probiere es doch mal mit verschiedenen Höhenwerten aus. Die Höhe einer Zeile beträgt in einem ListView-Control (ListIconGadget) beispielsweise hier unter Windows 7 17 Pixel.
Die Höhe des Innenbereichs wird immer aufgerundet. (Standard-Verhalten, ist also nicht nur bei PB-Anwendungen)
Wenn die Höhe deines ListIconGadgets ein paar Pixel größer ist, als die Gesamthöhe aller sichtbaren Einträge am Ende deiner Liste, dann bleibt etwas Platz übrig. Deshalb diese "leere Zeile".
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Letzte Zeile bei ListIconGadget() immer leer?

Beitrag von STARGÅTE »

Hier ein vollständiger Beispielcode, zur Bestätigung/Veranschaulichung der Situation:
Bild

Code: Alles auswählen

Enumeration
	#Window
	#Gadget_Left
	#Gadget_Right
EndEnumeration

Define Item.i

OpenWindow(#Window, 0, 0, 800, 600, "WindowTitle", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
ListIconGadget(#Gadget_Left, 10, 10, 190, 214, "Beispielinhalt", 160, #PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
For Item = 0 To 30
	AddGadgetItem(#Gadget_Left, #PB_Default, "Item "+Str(Item))
Next
SetGadgetState(#Gadget_Left, 30)
ListIconGadget(#Gadget_Right, 210, 10, 190, 198, "Beispielinhalt", 160, #PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
For Item = 0 To 30
	AddGadgetItem(#Gadget_Right, #PB_Default, "Item "+Str(Item))
Next
SetGadgetState(#Gadget_Right, 30)

Repeat
	
	Select WaitWindowEvent()
			
		Case #PB_Event_CloseWindow
			End
			
		Case #PB_Event_Gadget
			Select EventGadget()
			EndSelect
			
	EndSelect
	
ForEver
Hinweis: Pixelgenaue Abmessungen funktionieren allerdings nicht Systemübergreifend, da vielleicht jeder andere Standardschriftarten nutzt.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Antworten