Seite 1 von 2
Vermisse ClearWindow und Zellzugriff auf ListIconGadget
Verfasst: 16.02.2006 23:15
von ullmann
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
Verfasst: 17.02.2006 16:07
von MLK
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.
Verfasst: 17.02.2006 19:54
von hardfalcon
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?)
Verfasst: 17.02.2006 19:59
von ts-soft
tuts auch, die enthaltenen Gadgets werden autmatisch freigegeben!
Verfasst: 17.02.2006 21:07
von hardfalcon
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....
Verfasst: 17.02.2006 21:14
von ts-soft
hardfalcon hat geschrieben:Auch ne möglichkeit.
ja, ist auch das einfachste
hardfalcon 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...
Über diese Dinge solltest Du mit dem Arzt Deines Vertrauens sprechen
hardfalcon 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....
Oder das Programm beenden und Neustarten

Verfasst: 20.02.2006 19:59
von ullmann
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
Verfasst: 20.02.2006 20:25
von ts-soft
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

Verfasst: 20.02.2006 20:52
von Kiffi
@ullmann:
> Eine Art CLS (für Window) [...] sind für mich grundlegende Dinge,
Ich weiss ja nicht, wann Du zum letzten Mal Windowsanwendungen
programmiert hast, aber Du solltest Dich langsam daran gewöhnen, dass wir
nicht mehr im Consolen-Zeitalter leben.
Grüße ... Kiffi
Verfasst: 23.02.2006 01:21
von Konne
ClS fuer Fenster ist schwachsinn, braucht man ja eigendlich eh net und ich glaube nicht dass es ein Gridgadget standartmeasig in der API von Windows gibt. (Obwohl man das eigendlich immer bruacht).