GUI - Wie realisiert man Button Events? *Gelöst*
Übersicht

![]() |
GearTechDEehemals 'KillerJo96'Betreff: GUI - Wie realisiert man Button Events? *Gelöst* |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ich bin momentan dabei, eine eigene GUI zu programmieren. Ich weiß dass es viele GUI´s zur Auswahl gibt, es geht mir aber mehr um das Konzept wie man so etwas realisiert weil ich es selber auch können möchte ![]() Ich bin eigentlich schon ziemlich zufrieden, ich kann jetzt Fenster und Buttons und Labels erstellen lassen, das ist alles kein Problem und war fand ich auch nich soo schwer ![]() BlitzBasic: [AUSKLAPPEN]
Ich würds gerne so machen, dass ich in der hauptschleife ne Funktion laufen lasse, welche eine variable bekommt, z.B. so: BlitzBasic: [AUSKLAPPEN]
ich würd das gerne so machen ![]() Hier mal meine Dokumente: GUI.bb BlitzBasic: [AUSKLAPPEN]
und hier das testdokument: BlitzBasic: [AUSKLAPPEN]
Hier das image: ![]() |
||
Mit freundlichen Grüßen: GearTechDE |
- Zuletzt bearbeitet von GearTechDE am So, Jan 15, 2012 13:32, insgesamt einmal bearbeitet
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde es etwa so machen:
Code: [AUSKLAPPEN] Local Button1.TButton = CreateButton(...)
;[...] UpdateGUI() If Button1\Pressed Then ... UpdateGUI() sorgt dafür, dass die Knöpfe auf dem laufenden sind und die lassen sich einfach abfragen. |
||
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Freak123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
MouseHit(1) zwischenspeichern
Code: [AUSKLAPPEN] mh1=MouseHit(1)
und dann: Code: [AUSKLAPPEN] If mh1 Then
lg |
||
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
Okey, also ich werd mich da nochmal dransetzen. Danke :=) | ||
Mit freundlichen Grüßen: GearTechDE |
![]() |
Addi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du könntest auch eine Funktion schreiben, welche alle Types durchgeht und schaut ob ein Button gecklickt wurde und diesen wieder auf Null setzen und mit Return True zurück geben:
Function ButtonState( ID ) B.Button=Object.Button(ID) If B\Clicked=True then B\Clicked=Null Return True End If End Function Und abfragen könnte man das das so: If ButtonState(TestButton)=1 then ... End If Man kan diese Funktion dann auch noch so umbauen das sie auch noch zurückgiebt wen die Maus über dem Button ist oder der Button gedrückt ist |
||
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auch ne Möglichkeit, danke, werd mal probieren ![]() |
||
Mit freundlichen Grüßen: GearTechDE |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
also wie ich deine Code sehe, hast Du deshalb das Problem, weil Du zwar in der UpdateButton()-Funktion einen Paramater übergibts, der die Funktion auf einen bestimmten Button aufmerksam machen soll. In der Funktion dann wertest Du dies bei den Maus-Checks aber gar nicht aus, sondern gehst alle Buttons durch. Wenn nun irgendeiner dieser Button geklickt wird gibt es egalt welcher UpdateButton()-Aufruf gerade erfolgt, immer diesen Button zurück.
Beispiel: Du klickst auf den "Btn_StartNotepad"-Button in der Hauptschleife kommt aber zuerst dieser Funktionsaufruf... BlitzBasic: [AUSKLAPPEN] Btn_Exit = UpdateButton("Btn_Exit")
...dran und die liefert nun einen Wert <>0 zurück das reicht, um hier... BlitzBasic: [AUSKLAPPEN] If Btn_Exit = "Btn_Exit" Then End..das Progrsmm zu beenden. Es braucht nur eine kleine Änderung, dann läuft es: BlitzBasic: [AUSKLAPPEN] ... |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
![]() |
Addi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sry hab ausversehn B\Clicked=Null geschrieben meinte eig:
B\Clicked=False |
||
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also Leute, habs vor genau 2 Minuten geschafft und so gemacht:
Noch eine weitere Funktion dazu: BlitzBasic: [AUSKLAPPEN]
Jetzt kann ich ganz einfach überprüfen: BlitzBasic: [AUSKLAPPEN]
Funktioniert Super, Danke ![]() |
||
Mit freundlichen Grüßen: GearTechDE |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Glaub nicht dass das super funktioniert, weil:
Freak123 hat Folgendes geschrieben: MouseHit(1) zwischenspeichern
|
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
Funktioniert aber alles super wie ich finde?? | ||
Mit freundlichen Grüßen: GearTechDE |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nichts 3D spezifisches, also:
~VERSCHOBEN~ Ist doch toll wenn alles funktioniert. Ich hoffe bloß, du liest den FAQ bevor du mit der am meisten gefragten Frage ankommst. |
||
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das wäre dann genau wie Freak123 das erklärt hat. Eigentlich hatte ich kein Problem, jedoch habe ich es nicht danach wo ich es geschafft habe mit mehreren buttons versucht. Ivh werde morgen nochmal überprüfen ob es jetzt klappt oder nicht. Danke aber für den Hinweis ![]() |
||
Mit freundlichen Grüßen: GearTechDE |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group