Page 1 sur 1

WebBrowser bloquer le click droit

Publié : ven. 28/août/2015 11:27
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

Re: WebBrowser bloquer le click droit

Publié : ven. 28/août/2015 11:50
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)

Re: WebBrowser bloquer le click droit

Publié : ven. 28/août/2015 12:12
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.

Re: WebBrowser bloquer le click droit

Publié : ven. 28/août/2015 12:16
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.

Re: WebBrowser bloquer le click droit

Publié : ven. 28/août/2015 12:19
par demenvil
Est-ce que cela peut être du au fait que je suis sous linux ?

Re: WebBrowser bloquer le click droit

Publié : ven. 28/août/2015 12:23
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.

Re: WebBrowser bloquer le click droit

Publié : ven. 28/août/2015 12:28
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.

Re: WebBrowser bloquer le click droit

Publié : ven. 28/août/2015 12:58
par falsam
Inutile de reporter dans la section linux. Un modérateur déplacera ton sujet.

Re: WebBrowser bloquer le click droit

Publié : ven. 28/août/2015 15:07
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 ^^

Re: WebBrowser bloquer le click droit

Publié : ven. 28/août/2015 16:22
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.

Re: WebBrowser bloquer le click droit

Publié : ven. 28/août/2015 16:22
par G-Rom
j'ai pas de code sous la main, mais gtk propose toutes ces fonctions.