Wie bekomme ich herraus ob die maus auf ein gadget klickt

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benni125
Beiträge: 14
Registriert: 05.04.2007 22:37

Wie bekomme ich herraus ob die maus auf ein gadget klickt

Beitrag 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!
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag 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.
Benutzeravatar
milan1612
Beiträge: 810
Registriert: 15.04.2007 17:58

Beitrag 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
Zuletzt geändert von milan1612 am 31.07.2007 16:52, insgesamt 1-mal geändert.
Bin nur noch sehr selten hier, bitte nur noch per PN kontaktieren
Benni125
Beiträge: 14
Registriert: 05.04.2007 22:37

Beitrag 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...
Benutzeravatar
milan1612
Beiträge: 810
Registriert: 15.04.2007 17:58

Beitrag von milan1612 »

Das würd ich nicht mit nem WebGadget lösen (viel zu langsam).
Nimm ein ImageGadget, ist schneller und flexibler...
Bin nur noch sehr selten hier, bitte nur noch per PN kontaktieren
Benni125
Beiträge: 14
Registriert: 05.04.2007 22:37

Beitrag 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...
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag 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
Benni125
Beiträge: 14
Registriert: 05.04.2007 22:37

Beitrag von Benni125 »

der compiler sagt aber "Constant not found: #Pb_Web_Navigationcallback"
:freak:
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Benni125 hat geschrieben:der compiler sagt aber "Constant not found: #Pb_Web_Navigationcallback"
:freak:
Wird der Compiler wohl recht haben und Du nutzt die aktuelle Beta nicht :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benni125
Beiträge: 14
Registriert: 05.04.2007 22:37

Beitrag von Benni125 »

jupp kann sein
Ich kann aber nicht updaten da ich keine update version hab
Antworten