Menus invisibles sous Ubuntu.

Codes specifiques à Linux
Avatar de l’utilisateur
bloiiing
Messages : 53
Inscription : sam. 09/janv./2010 9:16

Menus invisibles sous Ubuntu.

Message par bloiiing »

Bonjour,

J'ai créé un petit bout de code qui ne sert à rien, si ce n'est de tester la compatibilité entre les différentes plateformes à ma disposition. A savoir Linux et windows. C'est juste une fenêtre avec un menu, un éditeur et un bouton. Ça ne fait rien de plus que d'afficher un message requester quand je clique sur un menu et un autre quand je clique sur le bouton. Je ne pense pas que ce soit utile de poster ici le code en question, mais je peux le faire si quelqu'un me le demande...

Sous windows 7 et 8 ça marche bien. Par contre sous linux, je n'arrive pas à avoir le menu et je ne sais pas pourquoi. Quelqu'un à-t-il déjà eu ce problème? Je précise que je n'ai aucune erreur de compilation, et que j'ai créé cette mini interface graphique avec le form designer intégré à PB 5.21 dans le but de me familiariser avec son fonctionnement. Je pense avoir compris. C'est pas trop compliqué, c'est même simple par rapport à d'autres langages, et c'est très efficace. J'ai juste ce problème de menu qui n'est pas visible sous linux...

Merci d'avance.
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Menus invisibles sous Ubuntu.

Message par falsam »

Et ou trouve t'on ce bout de code ? :mrgreen:
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
bloiiing
Messages : 53
Inscription : sam. 09/janv./2010 9:16

Re: Menus invisibles sous Ubuntu.

Message par bloiiing »

Voilà le code en 3 fichiers:

Code : Tout sélectionner

;Main.pb
XIncludeFile "Formulaire.pbf" ; Inclusion de la première fenêtre
XIncludeFile "Procedures.pb"

OpenWindow_0() ; Création de la première fenêtre. Ce nom de procédure est toujours 'Open' suivi du nom de la fenêtre

; La boucle principale, comme d'habitude, le seul changement est l'appel de la procédure 
; événementielle automtiquement générée pour chaque fenêtre.
Repeat
   Event = WaitWindowEvent()
   Select EventWindow()
      Case Window_0
         Window_0_Events(Event) ; Le nom de la procédure est toujours le nom de la fenêtre suivi de '_Events'      
   EndSelect
   
Until Event = #PB_Event_CloseWindow ; Ferme toutes les fenêtres en quittant l'une d'elle
puis:

Code : Tout sélectionner

;Formulaire.pbf
; This code is automatically generated by the FormDesigner.
; Manual modification is possible to adjust existing commands, but anything else will be dropped when the code is compiled.
; Event procedures needs to be put in another source file.
;

Global Window_0

Global Editor_0, Button_0

Enumeration FormMenu
  #MenuItem_2
  #MenuItem_4
  #MenuItem_5
  #MenuItem_8
  #MenuItem_11
  #MenuItem_7
  #MenuItem_9
  #MenuItem_10
EndEnumeration

Declare fileopen(Event)
Declare filechooser(EventType)

Procedure OpenWindow_0(x = 0, y = 0, width = 600, height = 400)
  Window_0 = OpenWindow(#PB_Any, x, y, width, height, "essai", #PB_Window_SystemMenu | #PB_Window_BorderLess | #PB_Window_ScreenCentered)
  CreateMenu(0, WindowID(Window_0))
  MenuTitle("File")
  MenuItem(#MenuItem_2, "Open")
  OpenSubMenu("New")
  MenuItem(#MenuItem_4, "Project")
  MenuItem(#MenuItem_5, "Text file")
  CloseSubMenu()
  MenuItem(#MenuItem_8, "Save")
  MenuItem(#MenuItem_11, "Save as")
  MenuTitle("Edit")
  MenuItem(#MenuItem_7, "Cut")
  MenuItem(#MenuItem_9, "Copy")
  MenuItem(#MenuItem_10, "Paste")
  Editor_0 = EditorGadget(#PB_Any, 10, 10, 580, 310)
  Button_0 = ButtonGadget(#PB_Any, 10, 328, 100, 40, "Open", #PB_Button_Default)
EndProcedure

Procedure Window_0_Events(event)
  Select event
    Case #PB_Event_CloseWindow
      ProcedureReturn #False

    Case #PB_Event_Menu
      Select EventMenu()
        Case #MenuItem_2
          fileopen(EventMenu())
        Case #MenuItem_4
        Case #MenuItem_5
        Case #MenuItem_8
        Case #MenuItem_11
        Case #MenuItem_7
        Case #MenuItem_9
        Case #MenuItem_10
      EndSelect

    Case #PB_Event_Gadget
      Select EventGadget()
        Case Button_0
          filechooser(EventType())          
      EndSelect
  EndSelect
  ProcedureReturn #True
EndProcedure

et enfin:

Code : Tout sélectionner

;Procedures.pb
Procedure filechooser(EventType)
   ;Debug "Evénement Bouton OK"
   MessageRequester("OK", "Button OK", #PB_MessageRequester_Ok);, 0)
EndProcedure

Procedure fileopen(EventType)
   ;Debug "Evénement Bouton OK"
   MessageRequester("Open", "File Open", #PB_MessageRequester_Ok);, 0)
EndProcedure
Je ne pense pas que ça serve à grand-chose mais voilà!

C'était juste pour savoir si quelqu'un avait eu le même problème que moi... C'est sous Ubuntu que je n'arrive pas à avoir le menu. Peut-être que c'est un problème de configuration de ma version de linux?

Merci d'avance.
Shade
Messages : 52
Inscription : sam. 05/juin/2010 15:40

Re: Menus invisibles sous Ubuntu.

Message par Shade »

salut dis moi sur ton ubuntu tes en quel version ?
j'ai eu le même souci est le menu se trouvé en haut de l’écran est non en haut de la fenêtre du programme comme quand tu dev la fenêtre sur purebasic
Répondre