WebBrowser bloquer le click droit

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
demenvil
Messages : 4
Inscription : ven. 28/août/2015 11:23

WebBrowser bloquer le click droit

Message par demenvil »

Bonjour,
J'ai pas mal fouillé mais j'ai un peu de mal à mettre en place la suppression du clic droit dans la fenêtre du logiciel une fois compilé.
Donc comment interdire le menu contextuel au clic droit ?

Voici déjà mon code pour commencer :

Code : Tout sélectionner

;
; ------------------------------------------------------------
;
;   PureBasic - MiniBrowser
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;

If InitNetwork() = 0
  ErrorMessage$ = "Pas de connexion internet détecté ! " + Chr(13) 
  ErrorMessage$ + Chr(13)
  ErrorMessage$ + "Veuillez vérifier vos paramètres de connexion."
  MessageRequester("Erreur", ErrorMessage$, 0)
  End
EndIf

ConnectionID = OpenNetworkConnection("216.58.211.110",80,#PB_Network_TCP)
If ConnectionID
Else
  ErrorMessage$ = "Pas de connexion internet détecté ! " + Chr(13) 
  ErrorMessage$ + Chr(13)
  ErrorMessage$ + "Veuillez vérifier vos paramètres de connexion."
  MessageRequester("Erreur", ErrorMessage$, 0)
  End
EndIf



Procedure ResizeWebWindow()
  ResizeGadget(10, #PB_Ignore, #PB_Ignore, WindowWidth(0), WindowHeight(0)-52)
  ResizeGadget(6, #PB_Ignore, #PB_Ignore, WindowWidth(0), #PB_Ignore)
EndProcedure

If OpenWindow(0, 100, 200, 800, 600, "PureBasic MiniBrowser v1.0", #PB_Window_MinimizeGadget | #PB_Window_SizeGadget)
  CreateStatusBar(0, WindowID(0))
  AddStatusBarField(#PB_Ignore)
  
  StatusBarText(0, 0, "Welcome to the world's smallest Browser ! :)", 0)
  
  FrameGadget(6, 0, 30, 0, 2, "", 2) ; Nice little separator
  
  If WebGadget(10, 0, 31, 0, 0, "http://www.purebasic.com") = 0
    CompilerIf #PB_Compiler_OS = #PB_OS_Windows
      MessageRequester("Error", "ATL.dll not found", 0)
      
    CompilerElse ; Linux and OX uses Webkit
      MessageRequester("Error", "Webkit library not found", 0)
    CompilerEndIf
    
    End ; Quit
  EndIf
  
  AddKeyboardShortcut(0, #PB_Shortcut_Return, 0)
  ResizeWebWindow()
  
  Repeat
    Event = WaitWindowEvent()
    
    
  Until Event = #PB_Event_CloseWindow
  
EndIf

J'ai suivi quelques avec :
http://www.purebasic.com/french/documen ... event.html
Mais rien de concluent..


Merci à vous
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: WebBrowser bloquer le click droit

Message par falsam »

Bonjour demenvil et bienvenu.

Juste avant la ligne

Code : Tout sélectionner

AddKeyboardShortcut(0, #PB_Shortcut_Return, 0)
ajoute

Code : Tout sélectionner

SetGadgetAttribute(10, #PB_Web_BlockPopupMenu, #True)
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%
demenvil
Messages : 4
Inscription : ven. 28/août/2015 11:23

Re: WebBrowser bloquer le click droit

Message par demenvil »

Bonjour,
Merci pour la bienvenue ainsi que pour la réponse, mais cela ne semble pas fonctionné.
J'avais déjà vu cette méthode sur un autre poste mais idem sans résultat positif.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: WebBrowser bloquer le click droit

Message par falsam »

demenvil a écrit :mais cela ne semble pas fonctionné.
Fonctionnant chez moi, je ne peux pas t'aider plus que ça : Quand je clique avec le clic droit de la souris, le menu contextuel (ou popup dans ce cas là) n’apparaît pas.
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%
demenvil
Messages : 4
Inscription : ven. 28/août/2015 11:23

Re: WebBrowser bloquer le click droit

Message par demenvil »

Est-ce que cela peut être du au fait que je suis sous linux ?
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: WebBrowser bloquer le click droit

Message par falsam »

Humm ..... fallait le préciser que tu étais sous linux :wink:

J'ai simplifié ton code pour ne tester que l'essentiel à savoir SetGadgetAttribute()

Code : Tout sélectionner

Enumeration
  #mainform
  #webgadget
  #statusbar
EndEnumeration

Procedure ResizeWebWindow()
  ResizeGadget(#webgadget, #PB_Ignore, #PB_Ignore, WindowWidth(0), WindowHeight(0)-52)
EndProcedure

If OpenWindow(#mainform, 100, 200, 800, 600, "PureBasic MiniBrowser v1.0", #PB_Window_MinimizeGadget | #PB_Window_SizeGadget)
  CreateStatusBar(#statusbar, WindowID(0))
  AddStatusBarField(#PB_Ignore)
  
  StatusBarText(#statusbar, 0, "Welcome to the world's smallest Browser ! :)", 0)
    
  WebGadget(#webgadget, 0, 31, 0, 0, "http://www.purebasic.com")
      
  ResizeWebWindow()
  
  SetGadgetAttribute(#webgadget,#PB_Web_BlockPopupMenu,#True)  
 
  BindEvent(#PB_Event_SizeWindow, @ResizeWebWindow())
  
  Repeat
    Event = WaitWindowEvent()    
  Until Event = #PB_Event_CloseWindow
EndIf
Sous windows, le clic droit ne fait pas apparaître le menu contextuel. A tester sous linux.

PS : Post à déplacer déplacer dans la section Linux.
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%
demenvil
Messages : 4
Inscription : ven. 28/août/2015 11:23

Re: WebBrowser bloquer le click droit

Message par demenvil »

Idem menu toujours visible..
Je vais alors aller poster dans linux, mais pourtatnt selon la doc il est quand même spécifier :
OS Supportés
Tous
Après j'utilise aussi la version de Démo, si le langage me plait vraiment je prendrai une licence, étant plus un développeur endurci par le php depuis pas mal d'années, a voir si j'arrive a apprendre facilement autre chose.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: WebBrowser bloquer le click droit

Message par falsam »

Inutile de reporter dans la section linux. Un modérateur déplacera ton sujet.
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%
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: WebBrowser bloquer le click droit

Message par G-Rom »

c'est different de l'Api Windows .. c'est de l'api Linux ..
C'est SDL, rien a voir linux ou windows. c'est une lib portable, qui marche aussi sous windows.
car il faut bien le reconnaitre, Linux est mal loti
en Fonctions Purebasic de base .... par rapport a windows...
De mémoire , une bonne partie de x11 est importé , si ca ne l'est pas , Linux étant écrit en C , facile à importé.

Le fait que SDL marche sur linux avec PB , ne fait pas de la SDL une api spécifique Linux, c'est un choix à Fred, d'ailleurs , je ne sais pas pourquoi ^^
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: WebBrowser bloquer le click droit

Message par falsam »

Effectivement le code

Code : Tout sélectionner

SetGadgetAttribute(#webgadget,#PB_Web_BlockPopupMenu,#True)
qui devait bloquer le menu popup ne fonctionne pas sous Linux.

La doc dit aussi
Les fenêtres popups et les menus popups ne sont pas supportés pour le WebGadget sous Linux.
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%
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: WebBrowser bloquer le click droit

Message par G-Rom »

j'ai pas de code sous la main, mais gtk propose toutes ces fonctions.
Répondre