Aktuelle Zeit: 22.01.2018 08:18

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: #PB_EventType_LeftClick beim ImageGadget
BeitragVerfasst: 27.11.2017 23:34 
Offline

Registriert: 28.05.2005 04:10
Wohnort: Berlin
Hallo,

mir ist aufgefallen, dass das Event #PB_EventType_LeftClick beim ImageGadget schon kommt wenn man den Mausbutton drückt und nicht erst wenn man ihn wieder loslässt.
Das ist beim ButtonGadget z. B. anders. Dort wird das Event #PB_EventType_LeftClick erst ausgelöst wenn man den Button wieder loslässt.

Nun zu meinem Problem. Ich wollte bei einem ImageGadget die Events #PB_EventType_LeftClick und #PB_EventType_DragStart separat verarbeiten. Da aber vor einem #PB_EventType_DragStart immer ein #PB_EventType_LeftClick kommt, stört das.

Hier mal ein Beispielcode zu ausprobieren:
Code:
If OpenWindow(0, 0, 0, 245, 105, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   If CreateImage(0, 100, 83)
      StartDrawing(ImageOutput(0))
      DrawText(10, 10, "Hallo")
      StopDrawing()
      ImageGadget(0,  10, 10, 100, 83, ImageID(0))                     ; Imagegadget Standard
      ImageGadget(1, 130, 10, 100, 83, ImageID(0), #PB_Image_Border)   ; Imagegadget mit Rand
   EndIf
EndIf

Repeat
   Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
         Select EventWindow()
            Case 0
               CloseWindow(0)
               End
         EndSelect
      Case #PB_Event_Gadget
         Select EventGadget()
            Case 0
               Select EventType()
                  Case #PB_EventType_LeftClick
                     Debug "Left Click IMG_0"
                  Case #PB_EventType_DragStart
                     Debug "DragStart IMG_0"
               EndSelect
            Case 1
               Select EventType()
                  Case #PB_EventType_LeftClick
                     Debug "Left Click IMG_1"
                  Case #PB_EventType_DragStart
                     Debug "DragStart IMG_1"                     
               EndSelect
         EndSelect
   EndSelect
ForEver   
End


Mache ich was falsch? Soll das so sein? Oder hat PB da einen Fehler?

Gruß Jake

_________________
MfG Jake


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: #PB_EventType_LeftClick beim ImageGadget
BeitragVerfasst: 28.11.2017 01:24 
Offline
Benutzeravatar

Registriert: 01.04.2007 20:18
Ob ein Fehler oder nicht... Wenn du keine Transparenz brauchst, dann nimm anstelle des ImageGadgets ein CanvasGadget. Da sind die Events viel differenzierter auswertbar.

_________________
PureBasic 5.45 LTS / 5.61 (Windows x86/x64) | Windows10 Pro x64 | Z87-PLUS | i7 4770k | 32GB RAM | iChill GeForce GTX 980 X4 Ultra | HAF XF Evo​​


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: #PB_EventType_LeftClick beim ImageGadget
BeitragVerfasst: 28.11.2017 08:17 
Offline
Benutzeravatar

Registriert: 06.07.2014 12:21
Hallo Jake,
wenn du eine Action erst ab Maustaste loslassen durchführen möchtes, kannst du das auch mit dem Event #WM_LBUTTONUP / #WM_RBUTTONUP / #WM_MBUTTONUP
zusätslich abfragen.
Code:
If OpenWindow(0, 0, 0, 245, 105, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   If CreateImage(0, 100, 83)
      StartDrawing(ImageOutput(0))
      DrawText(10, 10, "Hallo")
      StopDrawing()
      ImageGadget(0,  10, 10, 100, 83, ImageID(0))                     ; Imagegadget Standard
      ImageGadget(1, 130, 10, 100, 83, ImageID(0), #PB_Image_Border)   ; Imagegadget mit Rand
   EndIf
EndIf

Repeat
 
  Select WaitWindowEvent()
    Case #WM_LBUTTONUP
      If Dragstart
        Dragstart=0
        Debug "DragStart IMG_0"
      EndIf   
       
      Case #PB_Event_CloseWindow
         Select EventWindow()
            Case 0
               CloseWindow(0)
               End
         EndSelect
      Case #PB_Event_Gadget
         Select EventGadget()
            Case 0
               Select EventType()
                  Case #PB_EventType_LeftClick
                     Debug "Left Click IMG_0"
                   Case #PB_EventType_DragStart
                       Dragstart=1
                       ;Debug "DragStart IMG_0" 
               EndSelect
            Case 1
               Select EventType()
                  Case #PB_EventType_LeftClick
                     Debug "Left Click IMG_1"
                  Case #PB_EventType_DragStart
                     Debug "DragStart IMG_1"                     
               EndSelect
         EndSelect
   EndSelect
ForEver   
End

_________________
Intel Quad Core 3,2 Ghz Radeon HD6950 2GB BlitzBasic Plus 1.48 , PureBasic 5.21 LTS/5.30


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  
cron

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye