GUI Mousedown

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Mathias-Kwiatkowski

Betreff: GUI Mousedown

BeitragSa, Jul 14, 2012 18:14
Antworten mit Zitat
Benutzer-Profile anzeigen
das problem was ich habe ist das ich ein mausklick nicht prüfen kann in jedem canvas, warum das weiss ich nicht, aber vieleicht findet jemand den fehler.

Edit: in MBL wird ein mausklick der linken maustaste hinterlegt
mit meinem main_window bzw Main_Canvas ist dies aber möglich, sobald ich ein neues fenster öffne (Ordner Type) und in diesem neuen canvas links klicke passiert nichts, nur warum?

Type:
Code: [AUSKLAPPEN]
Global OrdnerList:TList = New TList
Global Ordner:TOrdner
Type TOrdner
   Field Window:Tgadget
   Field Canvas:Tgadget
   Field Slider:TGadget
   Field Pfad:String
   
   Function Create(Name:String, Pfad:String)
      Ordner:TOrdner = New TOrdner
   
      Ordner.window:TGadget = CreateWindow(Name, 50, 50, 350, 450, Main_Canvas, 3)
      Ordner.Canvas:TGadget = CreateCanvas(0, 0, DesktopWidth(), DesktopHeight(), Ordner.Window)
      Ordner.Slider = CreateSlider(350 - 26-5, 0, 15, 450 - 35 - 68, Ordner.canvas, SLIDER_VERTICAL)
      SetGadgetLayout Ordner.canvas, 1, 1, 1, 1
      SetGadgetLayout (Ordner.Slider, 0,1,1,1)
      EnablePolledInput(Ordner.Canvas)
      Ordner.Pfad = Pfad
      
      ActivateGadget (Ordner.canvas)
      OrdnerList.Addlast Ordner
      
   End Function
End Type


Global
Code: [AUSKLAPPEN]
Global MBL:Int


Schleife
Code: [AUSKLAPPEN]
Case EVENT_MOUSEDOWN
           tmpGadget = TGadget(EventSource())
             If tmpGadget = Main_Canvas
               If MouseDown(1) Then MBL = 1
             EndIf
         For Ordner:TOrdner = EachIn OrdnerList
            If tmpGadget = Ordner.canvas
               If MouseDown(1) Then MBL = 1
            EndIf
         Next
           
         Case EVENT_MOUSEMOVE
         tmpGadget = TGadget(EventSource())
         If tmpGadget = Main_Canvas
            MX = EventX()
            MY = EventY()
         EndIf
         For Ordner:TOrdner = EachIn OrdnerList
            If tmpGadget = Ordner.canvas
               MX = EventX()
               MY = EventY()
            EndIf
         Next
         
      Case EVENT_MOUSEUP
         If MBL > 0 Then MBL = 0

blackgecko

BeitragSa, Jul 14, 2012 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Lass in der Eventprüfung die Mousedown()-Abfrage weg, dann gehts.
Wenn dir hier die Bestimmung der Maustaste wichtig ist dann benutz EventData().
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax
Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group