Seite 1 von 2
Wie bekomme ich herraus ob die maus auf ein gadget klickt
Verfasst: 31.07.2007 16:28
von Benni125
Naja... das es Gadgets gibt, die sowas unterstützen via eventtype() weiß ich ja... aber was is bei gadgets wie Webgadget....? Da geht sowas nämlich nicht... aber wie bekomme ich herraus ob nun die Maus darauf geklickt hat? Ich brauche dringend und schnell Hilfe!
Verfasst: 31.07.2007 16:40
von edel
Nen einfachen Klick kannst du ueber subclassing abfangen, aber
vielleicht schreibst du was du genau machen moechtest
(auf 'nen link klicken ?), damit man eine entsprechende Lösungsweg
posten kann.
Verfasst: 31.07.2007 16:47
von milan1612
Hier ein Beispiel wie man auch auf ein ImageGadget klicken kann:
Code: Alles auswählen
OpenWindow(0, 0, 0, 240, 80, "Image Click", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) : CreateGadgetList(WindowID(0))
If CreateImage(0, 200, 50)
If StartDrawing(ImageOutput(0))
Box(0, 0, 200, 50, RGB(255,0,0))
StopDrawing()
EndIf
ImageGadget(1, 20, 20, 200, 50, ImageID(0), #SS_NOTIFY) ;<- Dieses Flag muss gesetzt werden
EndIf
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget And EventType() = #PB_EventType_LeftClick
If EventGadget() = 1 : Debug "ImageGadget Click" : EndIf
EndIf
Until Event = #PB_Event_CloseWindow
Verfasst: 31.07.2007 16:51
von Benni125
Nunja ich bin dabei eine Surfbar zubasteln... Und um Leuten die halt auf einen Bannerklicken eine extra Vergütung zukommen zulassen muss ich halt erstmal wissen ob sie drauf geklickt haben... Das Banner wird in einen Webgadget (was auch sonst) angezeigt...
Verfasst: 31.07.2007 16:53
von milan1612
Das würd ich nicht mit nem WebGadget lösen (viel zu langsam).
Nimm ein ImageGadget, ist schneller und flexibler...
Verfasst: 31.07.2007 19:10
von Benni125
Naja aber das Webgadget wird ja auch über das Internet von meinen Server aus aktualisiert und das würde riesige umstände machen das ganze über ein Imagegadget zu realisieren...
Verfasst: 31.07.2007 19:57
von edel
gibt da sicherlich noch elegantere Moeglichkeiten, die mir
aber nicht einfallen wollen
Code: Alles auswählen
Procedure NavigationCallback(Gadget, Url$)
If Left(Url$,27) = "http://www.google.de/search"
MessageRequester("","Die Suche steht dir nicht zur Verfuegung !")
ProcedureReturn #False
EndIf
ProcedureReturn #True
EndProcedure
hWnd = OpenWindow(0,#PB_Ignore,#PB_Ignore,640,480,"leer",#WS_OVERLAPPEDWINDOW)
CreateGadgetList(hWnd)
WebGadget(0,0,0,640,480,"google.de")
SetGadgetAttribute(0,#PB_Web_NavigationCallback,@NavigationCallback())
Repeat
event = WaitWindowEvent()
Until event = #PB_Event_CloseWindow
Verfasst: 31.07.2007 21:03
von Benni125
der compiler sagt aber "Constant not found: #Pb_Web_Navigationcallback"

Verfasst: 31.07.2007 21:22
von ts-soft
Benni125 hat geschrieben:der compiler sagt aber "Constant not found: #Pb_Web_Navigationcallback"

Wird der Compiler wohl recht haben und Du nutzt die aktuelle Beta nicht

Verfasst: 31.07.2007 22:29
von Benni125
jupp kann sein
Ich kann aber nicht updaten da ich keine update version hab