Windows TGadget "refreshen" ???

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

Pyrael

Betreff: Windows TGadget "refreshen" ???

BeitragMo, Jul 04, 2011 11:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

nachdem mir bei meienr ersten Frage so erfolgreich geholfen wurde, habe ich mir meinem kleinen Programm weitergemacht und hänge nun an einer Stelle an der ich erneut von Euch hilfe brauche.

folgendes habe ich gemacht:

1. via tgadget ein Windowsfenster geöffnet
2. an den oberen Rand 4 Schaltflächen mit createbutton gezaubert
3. dann ein paar eingabefelder via createtextfield platziert
4. am unteren Fensterrand ein logo (bild) anzeigen lassen

nun kommt mein problem:
der Bereich zwischen den 4 button und dem logo soll der variable Eingabebereich sein, damit man je nachdem was man ausgewählt hat (clickbutton) entsprechend andere Textfelder für die Eingabe angezeigt bekommt.

Ich schaffe es zwar beim ersten drücken einer schaltfläche die dazu gehörenden Textfelder in das fenster zu schreiben, aber wenn ich dann eine andere schaltfläche drücke, werden die bereits dargestellten textfelder nicht "gelöscht".....

gibt es eine möglichkeit das Windosfenster wieder in seinen Startzustand zurückzusetzen?? oder bereits gezeichnete Textfelder wieder aus dem Fenster zu löschen??


ich hoffe ich konnte mein Problem einigermaßen beschreiben......für Eure Hilfe bin ich schon jetzt dankbar!!!

viele Grüße

Pyrael

Midimaster

BeitragMo, Jul 04, 2011 11:14
Antworten mit Zitat
Benutzer-Profile anzeigen
du kannst jedes Gadget mit HideGadget unsichtbar machen.
 

jsp

BeitragMo, Jul 04, 2011 12:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Da gibt es sicher viele verschiedene Varianten, eine Möglichkeit wäre den Bereich zwischen deinen Buttons und dem Logo mit einem Panel pro Button zu füllen. Auf diesem Panel legst du dann alle anderen Gadgets drauf die in diesem Moment angezeigt werden sollen.
Also Button1 zeigt Panel1 an, Button2 zeigt Panel2 usw.
Wenn man mit HideGadget ein Panel-Gadget unsichtbar macht, wirkt sich das auch auf alle Gadgets auf dem Panel aus, man kann so mit einem Befehl alle Gadgets auf einmal verschwinden lassen.
Mit ShowGadget wird das benötigte dann wieder angezeigt...

Der Vorteil mit Panels als Container ist auch praktisch wenn man das ganze später noch etwas verschieben möchte, dann braucht man nur das Panel mit neuen x,y Koordinaten versehen und ist schon fertig.

Ich bin mir nicht sicher was du mit "clickbutton" meinst, ansonsten würde sich sicher ein Radiobutton oder ein Pushbutton mit Radio Style eignen. Auch ein Tabber hört sich nach deiner Beschreibung brauchbar an. Wenn der Platz knapp ist und man möchte ein paar mehr Wahlmöglichkeiten einbauen, eignet sich auch ein Slider mit einem Label darüber. Slider hat so viele Werte wie man "Knöpfe" braucht und der Label darüber zeigt an was gerade selektiert wurde. (nur so ein paar Überlegungen...)
Logic Gui Professional a Gui Designer for MaxGui
 

Pyrael

BeitragMo, Jul 04, 2011 15:49
Antworten mit Zitat
Benutzer-Profile anzeigen
vielen Dank für die flotte Antwort, aber ich hab wieder mal ne Nachfrage Smile

mit HideGadget wird also das Gadget "nur" versteckt und wieder "hervorgeholt" ??

mir geht es ja eigentlich mehr darum, den Inhalt des Textgadget zu löschen...also praktisch zu reseten.

ich mach von meinem kleinen Programm mal gleich zwei screenshots dann erklärt es sich bestimmt besser...

aber wenn ich das von euch richtig verstanden habe, wäre es möglich für jedes "event" von "buttonpush" die entsprechenden TextGadgets auf einem anderen Panel zu "zeichnen" und dann mehrer Panel exakt übereinanderzulegen (mit jeweils unterschiedlichen Textgadgets) und dann je nach event immer nur das benötigte panel auf "sichtbar" zu setzen und die anderen unsichtbar zu machen??

hier noch ein Bild wie das Programm aussieht wenn noch keine Schaltfläche gedrückt wurde:
user posted image


und dann so, wenn man auf die Schaltfläche "Buch" drückt
user posted image


soweit so gut, wenn ich abe nun auf die Schaltfläche CD drücken würde, müssen die Felder wieder leer sein...

Xeres

Moderator

BeitragMo, Jul 04, 2011 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du die selben Felder verwenden willst, musst du mit SetGadgetText arbeiten.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

jsp

BeitragMo, Jul 04, 2011 16:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
mit HideGadget wird also das Gadget "nur" versteckt und wieder "hervorgeholt" ??

genau

Zitat:
mir geht es ja eigentlich mehr darum, den Inhalt des Textgadget zu löschen...also praktisch zu reseten.

wie Xeres bereits geschrieben hat via SetGadgetText

Zitat:
wenn ich das von euch richtig verstanden habe, wäre es möglich für jedes "event" von "buttonpush" die entsprechenden TextGadgets auf einem anderen Panel zu "zeichnen" und dann mehrer Panel exakt übereinanderzulegen (mit jeweils unterschiedlichen Textgadgets) und dann je nach event immer nur das benötigte panel auf "sichtbar" zu setzen und die anderen unsichtbar zu machen??

ja, bis auf das die Gadgets nur einmal am Anfang erzeugt werden und später dann nur angezeigt oder versteckt werden, also nicht mehr neu erstellt werden.
Logic Gui Professional a Gui Designer for MaxGui
 

Pyrael

BeitragMo, Jul 04, 2011 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Xeres hat Folgendes geschrieben:
Wenn du die selben Felder verwenden willst, musst du mit SetGadgetText arbeiten.



...und da liegt genau mein Problem...

Code: [AUSKLAPPEN]
SetGadgetText(EINGABEFELD01, " ")


macht mir zwar die Zeile leer, aber hat dann als erstes im jedem Feld ein Leerzeichen zur Folge...schöner wäre es, wenn das gadget wieder im Ursprungszustand wäre...

..aber ich glaube ich probier das mal mit dem Panel, das klingt spannend

Xeres

Moderator

BeitragMo, Jul 04, 2011 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich verstehe nicht ganz - gibt es ein Problem mit leeren Strings?
Code: [AUSKLAPPEN]
SetGadgetText(EINGABEFELD01, "")
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

Pyrael

BeitragMo, Jul 04, 2011 21:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Xeres hat Folgendes geschrieben:
Ich verstehe nicht ganz - gibt es ein Problem mit leeren Strings?
Code: [AUSKLAPPEN]
SetGadgetText(EINGABEFELD01, "")


komisch....habs gerade nochmal ausprobiert und es geht mit den ""...

ich war mir sicher, dass als ich es vorher schon ausprbiert hatte es nicht funzte...aber egal, nun macht es was es soll......danke für die Hilfe!!!

einen schönen Abend noch zusammen!!

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group