Seite 2 von 2
Re: Problem beim Auslesen ver-oder-ter Werte
Verfasst: 13.05.2017 16:28
von Kiffi
RSBasic hat geschrieben:Du kannst auch in der Ziel-Prozedur per BindGadgetEvent() auf EventType() zugreifen und musst nichts übergeben.
\\Edit:
BindGadgetEvent() hat geschrieben:Die regulären Funktionen wie EventGadget(), EventWindow(), EventMenu(), EventType() und EventData() sind innerhalb des Callbacks verfügbar, um weitere Informationen über das Ereignis zu erhalten.
da hast Du mich scheinbar falsch verstanden. Das BindGadgetEventEx() ist eine von MIR geschriebene Prozedur, in der ICH den Callback (je nach #PB_EventType) setze.
Code: Alles auswählen
Procedure BindGadgetEventEx(Gadget, Callback, EventType = #PB_All)
If EventType = #PB_All
EventType = #PB_EventType_LeftClick | #PB_EventType_LeftDoubleClick
EndIf
If EventType & #PB_EventType_LeftClick = #PB_EventType_LeftClick
; If LeftClick-Event
; Rufe Callback auf
; EndIf
EndIf
If EventType & #PB_EventType_LeftDoubleClick = #PB_EventType_LeftDoubleClick
; If LeftDoubleClick-Event
; Rufe Callback auf
; EndIf
EndIf
EndProcedure
@mk-soft: Interessanter Ansatz. Muss ich mir mal genauer anschauen...
Grüße ... Peter
Re: Problem beim Auslesen ver-oder-ter Werte
Verfasst: 13.05.2017 16:32
von RSBasic
Aber aus welchem Grund machst du das? Warum nicht gleich in der BindGadgetEvent-Prozedur? Warum dieser Umweg?
Re: Problem beim Auslesen ver-oder-ter Werte
Verfasst: 13.05.2017 16:42
von RSBasic
Außerdem hast du mit deiner eigenen Prozedur ebenfalls Zugriff auf die Event-Funktionen. Beispiel:
Code: Alles auswählen
EnableExplicit
Procedure BindGadgetEventCallback()
Debug "Gadget-Nummer: " + Str(EventGadget())
Select EventType()
Case #PB_EventType_LeftClick
Debug "Linksklick"
; Rufe Callback auf
Case #PB_EventType_RightClick
Debug "Rechtsklick"
; Rufe Callback auf
EndSelect
EndProcedure
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(1, 10, 10, WindowWidth(0)-20, WindowHeight(0)-20, "", WindowWidth(0)-50, 0)
AddGadgetItem(1, -1, "Item", 0, 0)
BindGadgetEvent(1, @BindGadgetEventCallback())
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf
Wo ist das Problem?
Re: Problem beim Auslesen ver-oder-ter Werte
Verfasst: 13.05.2017 16:42
von Kiffi
RSBasic hat geschrieben:Aber aus welchem Grund machst du das? Warum nicht gleich in der BindGadgetEvent-Prozedur? Warum dieser Umweg?
weil es von mir programmierte Gadgets sind. Das kann man in SpiderBasic relativ einfach bewerkstelligen. Leider akzeptiert BindGadgetEvent() nur die SpiderBasic eigenen Gadgets.
Im Prinzip funktioniert ja auch alles so, wie ich mir das vorstelle. Nur dieses vermaledeite #PB_EventType_LeftClick halt nicht.
Grüße ... Peter
Re: Problem beim Auslesen ver-oder-ter Werte
Verfasst: 13.05.2017 17:01
von RSBasic
Was für eigene Gadgets sind es? Wurden diese mit CanvasGadget() erstellt? Ich möchte es einfach nur verstehen.
CanvasGadget() bietet doch auch Events an, die man verwenden kann. Ich kenn mich zwar mit SpiderBasic nicht aus, aber ich verstehe nicht, warum es nicht möglich sein soll.
Naja mit BindEvent() (Lösung von mk-soft) scheint es ja zu funktionieren.
Re: Problem beim Auslesen ver-oder-ter Werte
Verfasst: 13.05.2017 17:37
von DarkDragon
RSBasic hat geschrieben:Was für eigene Gadgets sind es? Wurden diese mit CanvasGadget() erstellt? Ich möchte es einfach nur verstehen.
CanvasGadget() bietet doch auch Events an, die man verwenden kann. Ich kenn mich zwar mit SpiderBasic nicht aus, aber ich verstehe nicht, warum es nicht möglich sein soll.
Naja mit BindEvent() (Lösung von mk-soft) scheint es ja zu funktionieren.
Vermutlich direkt in HTML/ES geschriebene Gadgets.
Re: Problem beim Auslesen ver-oder-ter Werte
Verfasst: 13.05.2017 18:22
von Kiffi
RSBasic hat geschrieben:Was für eigene Gadgets sind es?
beispielsweise das
ChartJsGadget() oder das
GoogleChartGadget (und mehrere bisher noch unveröffentlichte Gadgets).
Teilweise basieren diese Gadgets auf einem CanvasGadget, teilweise Div-, Span-, Sonstwas-Elemente.
Grüße ... Peter