ich möchte das beim Druck auf "Ende" der Inhalt
eines Webgadget bis nach unten scrollt/springt.
Das geht natürlich problemlos wenn man ins das Webgadget
klickt und dann diese Taste drückt, dass Gadget also fokussiert ist.
Es soll aber auch außerhalb des Webgadgets möglich sein,
z.B. durch einen eigenen Button wo "zum ende" draufsteht.
Folgender Code funktioniert mit einem ScrollAreaGadget,
wollte ihn auch für das Webgadget anwenden aber das
funktioniert nicht.
Kann man das anpassen oder gibt es keine Möglichkeit?
Code: Alles auswählen
Structure PB_ScrollAreaData
ScrollAreaChild.l
ScrollStep.l
EndStructure
Procedure ScrollScrollArea(gadget, xoffset, yoffset)
hScrollArea = GadgetID(gadget)
*SAGdata.PB_ScrollAreaData = GetWindowLong_(hScrollArea, #GWL_USERDATA)
If *SAGdata
posX = GetScrollPos_(hScrollArea, #SB_HORZ)
posY = GetScrollPos_(hScrollArea, #SB_VERT)
SetScrollPos_(hScrollArea, #SB_HORZ, posX + xoffset, #True)
SetScrollPos_(hScrollArea, #SB_VERT, posY + yoffset, #True)
posX = GetScrollPos_(hScrollArea, #SB_HORZ)
posY = GetScrollPos_(hScrollArea, #SB_VERT)
GetWindowRect_(*SAGdata\ScrollAreaChild, wr.RECT)
MoveWindow_(*SAGdata\ScrollAreaChild, -posX, -posY, wr\Right - wr\Left, wr\Bottom - wr\Top, #True)
EndIf
EndProcedure
XIncludeFile "WebGadgetExtras.pb"
#WebGadget = 100
OpenWindow(0,0,0,550,350,#PB_Window_ScreenCentered|#PB_Window_BorderLess,"Test")
CreateGadgetList(WindowID(0))
WebGadget(#WebGadget,10,15,380,245,"http://www.spiegel.de")
InitKeyboard()
Repeat
EventID=WaitWindowEvent()
ExamineKeyboard()
If KeyboardReleased(#PB_Key_End)
ScrollScrollArea(#WebGadget,0,100)
EndIf
If EventID=#PB_Event_CloseWindow:End:EndIf
ForEver