Seite 1 von 2

Webgadget ohne Scrollbar?

Verfasst: 05.01.2005 22:17
von Lukaso
Hallo,

ich möchte die Scrollbar im Webgadget komplett weghaben.
Wie kann ich das anstellen?

Danke :allright:

MFG Lukaso

Verfasst: 06.01.2005 00:33
von Falko

Code: Alles auswählen

If OpenWindow(0,0,0,400,150,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"WebGadget") And CreateGadgetList(WindowID(0)) 
    WebGadget(0,10,10,580,280,"http://www.purebasic.com") 
    ShowScrollBar_(WindowID(),#SB_BOTH,#false)

    ; Hinweis: wenn Sie eine lokale Datei benutzen möchten, dann ändern Sie den letzten Parameter 
    ;          in "file://" + Pfad + Dateiname 
    Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow 
  EndIf 

Verfasst: 06.01.2005 12:01
von Lukaso
Der Befehl "ShowScrollBar_(WindowID(),#SB_BOTH,#false)" bewirkt nix ... :roll:

Du hast einfach das Webgadget größer gemacht wie das Window :lol:
Aber da wo ich es platzirt habe, müsste die Scrollbar ausgeschalltet werden ... :wink:

Danke trotzdem :allright:

MFG Lukaso

Verfasst: 06.01.2005 12:43
von bluejoke
ShowScrollbar_(...) bewirkt doch eine Anzeige bzw. Nichtanzeige der Scrollbar vom Fenster, nicht von den Gadgets!?
:? /:->

Verfasst: 06.01.2005 12:57
von DarkDragon
bluejoke hat geschrieben:ShowScrollbar_(...) bewirkt doch eine Anzeige bzw. Nichtanzeige der Scrollbar vom Fenster, nicht von den Gadgets!?
:? /:->
Gadgets sind für WindowsSysteme nichts anderes als Fenster mit einer bestimmten Klasse.

Bei dem code sollte wohl eher GadgetID(0) als erster Parameter bei ShowScrollbar stehen, funktioniert aber auch nicht. Versuch mal mit dem Trick ein childfenster zu öffnen und darin dann ein Webgadget so einbauen, dass es durch das ChildWindow abgeschnitten wird ;) .

Verfasst: 06.01.2005 13:00
von Lukas-P
Teste ma im Body beim HTML Code:

<body scrolling=no>

Verfasst: 06.01.2005 13:01
von ts-soft
WebGadget-Stil kann nur über COM geändert werden. Ob eine Objekteigenschaft gibt, mit der man das Visible der Scrollbar disablen kann ist mir nicht bekannt. Einfachste Möglichkeit wäre wohl die Nutzung einer DLL wie QHTML.dll oder ähnlich, und hiermit ein Browser-Gadget erstellen

Verfasst: 06.01.2005 14:39
von bingo

Code: Alles auswählen

Enumeration 
  #WebGadget 
  #Window=0 
EndEnumeration 

Procedure.l Ansi2Uni(ansi.s) 
  size.l=MultiByteToWideChar_(#CP_ACP,0,ansi,-1,0,0) 
  Dim unicode.w(size) 
  MultiByteToWideChar_(#CP_ACP, 0, ansi, Len(ansi), unicode(), size) 
  ProcedureReturn @unicode()  
EndProcedure 

If OpenWindow(#Window, 0, 0, 640, 480, #PB_Window_ScreenCentered|#PB_Window_SystemMenu, "Catch webbrowser events...") 
  If CreateGadgetList(WindowID())    
    WebGadget(#WebGadget, 5, 5, 630, 470, "www.heise.de") 
    Browser.IWebBrowser2 = GetWindowLong_(GadgetID(#WebGadget), #GWL_USERDATA)    

    Repeat 
      While WindowEvent(): Wend 
      Delay(1) 
      Browser\get_busy(@isBusy.l) 
    Until isBusy = 0 
    
    If Browser\get_Document(@DocumentDispatch.IDispatch) = #S_OK 
      If DocumentDispatch\QueryInterface(?IID_IHTMLDocument2, @Document.IHTMLDocument2) = #S_OK 
        If Document\get_body(@Element.IHTMLElement) = #S_OK 
          If Element\get_style(@Style.IHTMLStyle)  = #S_OK 
            Style\put_overflow(Ansi2Uni("hidden")) 
          EndIf  
        EndIf 
        Document\Release() 
      EndIf  
      DocumentDispatch\Release()    
    EndIf 
    
    Repeat 
    Until WaitWindowEvent() = #PB_EventCloseWindow 
  EndIf 
EndIf 

DataSection 
IID_IHTMLDocument2:  ;  {332C4425-26CB-11D0-B483-00C04FD90119} 
Data.l $332C4425 
Data.w $26CB, $11D0 
Data.b $B4, $83, $00, $C0, $4F, $D9, $01, $19 

IID_IHTMLElement:  ; {3050F1FF-98B5-11CF-BB82-00AA00BDCE0B} 
Data.l $3050F1FF 
Data.w $98B5, $11CF 
Data.b $BB, $82, $00, $AA, $00, $BD, $CE, $0B  
EndDataSection
:wink:
lohnt sich immer mal hier zu schauen ... auch wenn man ggf. nix versteht:
http://purebasic.hmt-forum.com/viewtopi ... =webgadget

Verfasst: 06.01.2005 14:52
von ts-soft
lohnt sich immer mal hier zu schauen ... auch wenn man ggf. nix versteht:
Wie Wahr Bild

Verfasst: 06.01.2005 15:08
von Falko
Schade, hatte noch kein Französisch. :mrgreen:
:allright: