Zoomer un webview multiplateforme

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Mesa
Messages : 1129
Inscription : mer. 14/sept./2011 16:59

Zoomer un webview multiplateforme

Message par Mesa »

Code : Tout sélectionner

EnableExplicit


Procedure resizeW()
  ResizeGadget(0, #PB_Ignore, #PB_Ignore, WindowWidth(0), WindowHeight(0)-50)
EndProcedure

; ----

Define Zoom0$, Zoom$


OpenWindow(0, 100, 100, 800, 600, "Hello", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget |#PB_Window_MaximizeGadget |#PB_Window_SizeGadget)

WebViewGadget(0, 0, 50, 800, 500, #PB_WebView_Debug)
SetGadgetText(0, "https:\\www.purebasic.com")
BindEvent(#PB_Event_SizeWindow,@resizeW())

ButtonGadget(1, 10, 10, 120, 25, "100%")
TrackBarGadget(2,130,10,600,30,10,400)
SetGadgetState(2, 100)
TextGadget(3,750,10,60,30,"100%")

Repeat 
  Select WaitWindowEvent()
      
    Case #PB_Event_Gadget
      Select  EventGadget() 
        Case 1
          WebViewExecuteScript(0, ~"document.body.style.zoom=\"100%\"")
          SetGadgetState(2, 100)
          SetGadgetText(3,"100%")
        Case 2
          zoom0$=Str(GetGadgetState(2))
          zoom$=~"document.body.style.zoom=\""+zoom0$+~"%\""
          WebViewExecuteScript(0, zoom$)
          SetGadgetText(3,zoom0$)
      EndSelect
      
    Case #PB_Event_CloseWindow
      Break
      
  EndSelect
ForEver
Mesa.
Avatar de l’utilisateur
falsam
Messages : 7334
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Zoomer un webview multiplateforme

Message par falsam »

J'aime bien mais je pense que tu sais que Ctrl + molette de la souris fait la même chose 😉
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Répondre