event abfrage

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Pebender

Betreff: event abfrage

BeitragSo, Jan 22, 2017 11:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich scheitere an der Hauptschleife des Progammes. folgender Codeausschnitt

Code: [AUSKLAPPEN]
Repeat
  WaitEvent()
   Select EventID()
     Case EVENT_WINDOWCLOSE, EVENT_APPTERMINATE;End
     
  Case EVENT_GADGETACTION
    Select EventSource()
     Case button1
      End
    
    Case MyToolBar
     Select EventData()
            Case 1
                Local file:String=RequestFile("Open a File")
            Case 2
                Local result:Int=Confirm("Are You Sure you want to Quit?")
                If result=1 Then End
            Case 5
                If state=1 Then
                    DisableGadgetItem MyToolbar,1
                    state=0
                Else
                    EnableGadgetItem MyToolbar,1
                    state=1
                EndIf
            Default
               SetStatusText Window, "You Clicked Button #"+EventData()

            End Select
            End Select
    End Select   
End Select
 
Forever


Denke ja der ist soweit selbsterklärend. jetzt habe ich das Problem, wenn ich meine Menüleiste(hier nicht enthalten) abfragen möchte, funktioniert dies nicht wirklich, egal wo ich Case EVENT_MENUACTION, entwerder bekomme ich eine Fehlermeldung, oder es funktioniert nichts mehr( der Button, die Toolbar):
Ich google und suche mir nen Wolf, die ganzen Beispiele, die finde funktionieren, aber sobald ich die in mein Code einbaue............nichts mehr.
ich denke ich habe das Problem mit dem richtigen verschachteln.
Kann mir jemand sagen, wo ich das richtigerweise einbaue, das alles funktioniert??

mfg
BMax & MaxGUI

Holzchopf

Meisterpacker

BeitragSo, Jan 22, 2017 12:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Art, wie das eingerückt ist, ist nicht gerade hübsch Confused Egal, man kann den Code ja trotzdem lesen und vielleicht wurde ja auch beim In-den-Beitrag-kopieren etwas zerschossen.

Nun:
Ich erkenne nicht, woran es liegen sollte. Also das Case EVENT_MENUACTION gehört sicher ins Select EventID(). Das dann eine Fehlermeldung kommen soll oder gar alles abschmieren könnte, erschliesst sich mir anhand dem, was ich da sehe, nicht.

Könntest du das "Innenleben" deines Case EVENT_MENUACTION posten? Ich denke, da liegt der Hund begraben.

MfG
Holzchopf
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Pebender

BeitragSo, Jan 22, 2017 13:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich müsste das

Code: [AUSKLAPPEN]
Case EVENT_MENUACTION
   Select EventData()
     Case MENU_ENDE
       End


richtig platzieren, nun habe ich leider die Hauptschleife komplett zerlegt, und weis nicht mehr wo ich das teil hinmachen muss.

mfg
BMax & MaxGUI

Holzchopf

Meisterpacker

BeitragSo, Jan 22, 2017 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Kannst du mal den ganzen Code posten?
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Pebender

BeitragSo, Jan 22, 2017 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo danke für die Hilfe.
ich habe das ganze jetzt so gemacht:

Code: [AUSKLAPPEN]

While True
   WaitEvent
     Select EventID()
   ' Hauptfenster schließen
      Case EVENT_WINDOWCLOSE      
         End
         
    ' Menüabfrage
      Case EVENT_MENUACTION
         Select EventData()
            Case MENU_ENDE
               End
            Case MENU_ABOUT
               Notify "Incrediabler~n(C)2005 Incredible Software"
      
       End Select
   'Buttonabfrage
      Case EVENT_GADGETACTION
       Select EventSource()
        Case button
         End
         End Select
      End Select
      
   'Abfrage der Toolbar   
   Select EventSource()   
      Case MyToolBar
         Select EventData()
              Case 1
                Local file:String=RequestFile("Open a File")
            Case 2
                Local result:Int=Confirm("Are You Sure you want to Quit?")
                If result=1 Then End
            Case 5
                If state=1 Then
                    DisableGadgetItem MyToolbar,1
                    state=0
                  Else
                    EnableGadgetItem MyToolbar,1
                    state=1
                EndIf
            Default
               SetStatusText Window, "You Clicked Button #"+EventData()

       End Select
End Select      
   
Wend


jetzt funktioniert das ganze auch.
Ich habe das ganze glaube ich etwas falsch verschachtelt.

mfg
BMax & MaxGUI

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group