Fenster aktualisieren?

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

Kowalski

Betreff: Fenster aktualisieren?

BeitragFr, Apr 11, 2008 16:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Community,
leider hilft mir die Forensuche nicht weiter, und mein Einfallsreichtum an möglichen Suchbegriffen ist erschöpft.

"Vorwort"
Ich habe ein kleines Konfigurationsprogramm geschrieben.
Im Hauptfenster kann man dann auf den Button "anpassen" klicken und es erscheint ein zweites Fenster, in dem eine beliebige Taste gedrückt wird und via return der Wert der Variable gespeichert wird.
Nun möchte ich, dass nach der Abfrage der neuen Taste und den damit verbundenen neuen Variablenwert, sich auch der Variablenwert im Fenster aktualisiert.
Anschließend werden die Dateien mit den neuen Variablenwerten neu geschrieben.

So meine frage ist nun, wie schaffe ich das, dass sich das zweite Fenster aktualisiert?

Der Quelltext arbeitet in etwa so:
Code: [AUSKLAPPEN]


If EventSource() = button[1] Then
     '.bmx-Datei laden, in der die Werte in Variablen gespeichert sind
     ' Variablen des Hauptprogramms mit den Variablen aus der includierten Datei versehen
     ' Fenster erzeugen
     ' Label "Springen:" VaiableSpringen  z.B. mit dem Wert Space
     ' Button Springen anpassen
     ' Speichernbutton
Endif

If EventSource() = button[2] Then
     'Springenvariable = FunktionTastenermitteln
Endif

If EventSource() = button[3] Then
     'Datei öffnen....
     'writeline "Springenvariable = " + Springvariable
     '...
     'Datei schließen
Endif


Ich hoffe ihr versteht was ich meine.

Ich danke schon im voraus für eure Hilfe.
Gruß Kowalski

~EDITIERT~

Quelltext bitte immer in [code]-Tags packen!
hamZta

Curtis

BeitragFr, Apr 11, 2008 16:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.

Meinst du, dass das Fenster, was sich beim Klick auf "Anpassen" öffnet, aktualisiert wird oder das Hauptfenster?
Warum alleine proggen? Komm in unser Team!
Curtis @ sysprofile.de
 

#Reaper

Newsposter

BeitragFr, Apr 11, 2008 16:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, ich weiß nun nicht ob ich es genau richtig verstanden habe, was du willst.
Aber da du ja scheinbar mit MaxGUI arbeitest: Du musst doch einfach nur erneut die Werte in das Gadget schreiben, wie du es am anfang auch gemacht hast. Also vermutlich mit SetGadgetText()...?
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7
 

Kowalski

BeitragFr, Apr 11, 2008 17:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich meint das Fenster welches sich beim Klick von anpassen öffnet.

Ob SetGadetText richtig ist weiss ich nicht (aber ich bin halt ein Beginner in dieser Sprache), aber so erzeuge ich die Ausgabe:

Local ctrl_lab:TGadget = CreateLabel(repKey(MOVE_FORWARD_2), 580, 520, 70, 15, PopWindow)

Und die Funktion:

Global keygive:Int
Function repKey:String(keygive:Int)
Local key:String[255]
Array Werte...
Return key[keygive]
End Function

Aber ich werde es mal mit SetGadgetText versuchen...
  • Zuletzt bearbeitet von Kowalski am Fr, Apr 11, 2008 18:09, insgesamt 2-mal bearbeitet
 

#Reaper

Newsposter

BeitragFr, Apr 11, 2008 18:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, also so wie es aussieht willst du dann folgendes:

Code: [AUSKLAPPEN]

Local ctrl_lab:TGadget = CreateLabel(repKey(MOVE_FORWARD_2), 580, 520, 70, 15, PopWindow) 'Erzeugen mit Wert

SetGadgetText(ctrl_lab, repKey(MOVE_FORWARD_2)) 'Erneut abfragen und Wert im Label anpassen


Falls ich das richtig sehe.
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7
 

Kowalski

BeitragFr, Apr 11, 2008 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Irgendwie muckt SetGadgetText herum: "Unhandeld Exception: Attempt to acces a fiel or mothod of null object" und in der maxgui.bmx steht dann:

For the Label, Button, TextField and TextArea gadgets, the contents
of the gadget are replaced with the new Text.
EndRem
Function SetGadgetText( gadget:TGadget,text$ )
gadget.SetText( text )
End Function

Und wenn ich halt meine Funktion durch eine Variable oder einen String direkt tausche, ist die Meldung immer noch da....

[Edit]
hab den Fehler gefunden, da stand zweimal Global vor der Variable...


Deshalb:

DANKE(!) für die Hilfe, die Lösung hat mir geholfen

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group