Vermisse ClearWindow und Zellzugriff auf ListIconGadget
Vermisse ClearWindow und Zellzugriff auf ListIconGadget
1. Damit ich in einem Fenster neue Ausgaben (Text und Schaltflächen) darstellen kann, muss/will ich ältere Ausgaben löschen. Dazu habe ich diese Gadgets zu einem Containergadget zusammengefasst und dieses dann gelöscht. Finde ich umständlich. Ich vermisse einen Befehl ClearWindow(Backgroundcolor), der mir das Window säubert und alle Gadgets dieses Fensters entfernt, so als hätte ich das Fenster neu erstellt.
2. Ich lasse mehrere Ergebnisse (8-stellige ganze Zahlen) in einem ListIconGadget in Zeilen und Spalten darstellen. Ich kann dann aber mit der Maus kein einzelnes Ergebnis markieren, sondern in der Spalte ganz links nur die ganze Zeile. Hier wäre ein Parameter gut, der mir den einzelnen Zellzugriff (Markierung) gestattet. Bei Mausklick auf eine Zelle würde ich von dem Gadget gern Zeilen- und Spaltennummer erhalten.
Vielleicht kann Fred sowas noch schnell mit in die V4 einbauen ?
Rainer
2. Ich lasse mehrere Ergebnisse (8-stellige ganze Zahlen) in einem ListIconGadget in Zeilen und Spalten darstellen. Ich kann dann aber mit der Maus kein einzelnes Ergebnis markieren, sondern in der Spalte ganz links nur die ganze Zeile. Hier wäre ein Parameter gut, der mir den einzelnen Zellzugriff (Markierung) gestattet. Bei Mausklick auf eine Zelle würde ich von dem Gadget gern Zeilen- und Spaltennummer erhalten.
Vielleicht kann Fred sowas noch schnell mit in die V4 einbauen ?
Rainer
du kannst bei der erstellung des LIGs mit dem flag #PB_ListIcon_FullRowSelect festlegen das immer die ganze zeile markiert wird, nicht nur das erste feld.
willst du einzelne zellen markieren und direkt bearbeiten, dann solltest du im englischen forum nach "grid" suchen, da gibts mehrere librarys die dies ermöglichen.
ansonsten gibt GetGadgetState() dir die reihe zurück und für die zelle hätte ich auch einen windowsonly-code wenn du willst.
willst du einzelne zellen markieren und direkt bearbeiten, dann solltest du im englischen forum nach "grid" suchen, da gibts mehrere librarys die dies ermöglichen.
ansonsten gibt GetGadgetState() dir die reihe zurück und für die zelle hätte ich auch einen windowsonly-code wenn du willst.
- hardfalcon
- Beiträge: 3447
- Registriert: 29.08.2004 20:46
Zu 1.): Wenn du alle Gadgets auf einen Schlag löschen willst, hast du 2 möglichkeiten:
1.) Du verwendest fixe Gadget-Nummern, und diese fixen Gadget-Nummern sind "ein Block", aus dem ALLE Nummern verwendet werden, also nicht,n dass du "in diesem Block" noch "unbenutze" Zahlen "frei" hast. Dann kannst du das einfach so machen:
2.) Du verwendest #PB_Any, und schreibst das Handle von jedem Gadget in eine LinkedList, sobald du das entsprechende Gadget erstellt hast. Wenn du alle Gadgets wieder löschen willst, machst du folgendes:
Bitte bedenke, dass PureBasic eine Programmiersprache, und keine eierlegende Wollmilchsau ist. (<- wetten, das gibt nen Flame?)
1.) Du verwendest fixe Gadget-Nummern, und diese fixen Gadget-Nummern sind "ein Block", aus dem ALLE Nummern verwendet werden, also nicht,n dass du "in diesem Block" noch "unbenutze" Zahlen "frei" hast. Dann kannst du das einfach so machen:
Code: Alles auswählen
For k=0 To #LETZEGADGETNUMMER
FreeGadget(k)
Next k
Code: Alles auswählen
ForEach Gadgets()
FreeGadget(Gadgets())
Next
- 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
Code: Alles auswählen
FreeGadget(#Container)
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- hardfalcon
- Beiträge: 3447
- Registriert: 29.08.2004 20:46
Auch ne möglichkeit. Aber gabs da nicht irgendeine Beschränkung, die Container und Panels mit sich bringen? Ich glaub, ich kann mich da düster an den diffusen Schatten einer Vermutung erinnern, dass da was nicht geht, aber ich mir mir absolut nicht sicher...
//EDIT: Notfalls kann er das Fenster ja auch komplett löschen, und an der Stelle des alten FEnsters wieder ein neues erstellen mit den gleichen Parametern wie das alte Fenster....
//EDIT: Notfalls kann er das Fenster ja auch komplett löschen, und an der Stelle des alten FEnsters wieder ein neues erstellen mit den gleichen Parametern wie das alte Fenster....
- 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
ja, ist auch das einfachstehardfalcon hat geschrieben:Auch ne möglichkeit.

Über diese Dinge solltest Du mit dem Arzt Deines Vertrauens sprechenhardfalcon hat geschrieben:Aber gabs da nicht irgendeine Beschränkung, die Container und Panels mit sich bringen? Ich glaub, ich kann mich da düster an den diffusen Schatten einer Vermutung erinnern, dass da was nicht geht, aber ich mir mir absolut nicht sicher...

Oder das Programm beenden und Neustartenhardfalcon hat geschrieben: //EDIT: Notfalls kann er das Fenster ja auch komplett löschen, und an der Stelle des alten FEnsters wieder ein neues erstellen mit den gleichen Parametern wie das alte Fenster....

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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Danke für die Tipps. Einige waren mir bekannt.
Eine Art CLS (für Window) und ein Grid sind für mich grundlegende Dinge, die sicher oft benötigt werden und die PB gleich an Bord haben sollte, das hat nichts mit eierlegender Wollmilchsau zu tun (die kann Fred später implementieren).
Es gibt ja auch zig andere direkt enthaltene Gadgettypen.
Der Name BASIC steht für Anfänger-Programmiersprache und es wäre gut, wenn sowohl für Anfänger grundlegende, starke und "gewohnt reagierende" Befehle als auch für Puristen spezielle Befehle enthalten sind. Soll doch jeder nutzen können, was er benötigt.
Rainer
Eine Art CLS (für Window) und ein Grid sind für mich grundlegende Dinge, die sicher oft benötigt werden und die PB gleich an Bord haben sollte, das hat nichts mit eierlegender Wollmilchsau zu tun (die kann Fred später implementieren).
Es gibt ja auch zig andere direkt enthaltene Gadgettypen.
Der Name BASIC steht für Anfänger-Programmiersprache und es wäre gut, wenn sowohl für Anfänger grundlegende, starke und "gewohnt reagierende" Befehle als auch für Puristen spezielle Befehle enthalten sind. Soll doch jeder nutzen können, was er benötigt.
Rainer
- 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
CLS für Fenster gibt es nicht und sind total unlogisch
Lediglich Profan bietet sowas, wobei dort jedes Fenster eine Zeichenfläche
emuliert, so das man dort auch mit Print usw. arbeiten kann. Sowas ist aber
sehr hinderlich, wenn man Windows-Übliche Anwendungen erstellen möchte,
solltest vielleicht die Console verwenden, kann man auch einen weißen
Hintergrund erstellen

Lediglich Profan bietet sowas, wobei dort jedes Fenster eine Zeichenfläche
emuliert, so das man dort auch mit Print usw. arbeiten kann. Sowas ist aber
sehr hinderlich, wenn man Windows-Übliche Anwendungen erstellen möchte,
solltest vielleicht die Console verwenden, kann man auch einen weißen
Hintergrund erstellen

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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
