Page 1 sur 1

pb choix menu avec CASE et centrer texte dans colonne ...

Publié : mar. 10/oct./2006 14:14
par david
dans le bout de code ci-après j'ai plusieurs problème:
- l'appuie de mes MENU (a propos, aide... ) ne fonctionne pas (j'ai bien revu dans les exemples (comme MDI Image Viewer.pb)
de plus aide devrait lancer directement quelque chose sans sous-menu.

de plus j'aurais voulu centrer 12:22:33 avec

Code : Tout sélectionner

StringGadget(#String_0, 120, 10, 50, 40, "12:22:33")
dans l'objet mais l'aide ne stipule pas (PB 4.00) si la fonctionnalité existe..

alors pire, c'est pas indispensable, mais si il y a un pro qui touche et qui peut m'aider...
j'ai vu des OPTIONS comme

Code : Tout sélectionner

#PB_String_Numeric   
Moi j'aurais voulu donner un format HH:MM:SS a ma case pour que lorsu'on tape 122233 on obtienne 12:22:33 (bref les ":" s'affichent automatiquement ou... lorsqu'on saisie le temps

voici le code, si je peux avoir ne serait-ce qu'un début d'aide
je ne comprends pas pourquoi l'appel CASE ne fonctionne pas?

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
  #PB_EventGadget
EndEnumeration

;- Gadget Constants
Enumeration
  #ListeRead
  #String_0
  #String_1
  #String_00
  #Personnalise
  #Valide_0
EndEnumeration

;- StatusBar Constants
Enumeration
  #StatusBar_0
  #MenuBar_0
  #MENU_8
  #MENU_9
EndEnumeration
;
;
;

Global message$ = "         mon texte qui defile" 
Global longueur = Len(message$) 

Procedure Defilement() 

EndProcedure

;
;
;
;
  If OpenWindow(#Window_0, 216, 0, 223, 133, "COMPTE-A-REBOURS",#PB_Window_SystemMenu |#PB_Window_ScreenCentered | #PB_Window_TitleBar) And CreateGadgetList(WindowID(0))
    If CreateStatusBar(#StatusBar_0, WindowID(#Window_0))
      EndIf
  If CreateMenu(#MenuBar_0, WindowID(#Window_0))
      MenuTitle("A propos")
      MenuItem(#MENU_8, "choix1")
      MenuItem(#MENU_9, "choix2")
      MenuTitle("Aide")
      EndIf
          
        
   
     
  ComboBoxGadget(#ListeRead, 10, 10, 100, 140)
  SetGadgetState(#ListeRead, 0)   ; sélectionne le premier élément (la numérotation commence à 0)
       a = GetGadgetState(#ListeRead)+1 ;donne le chrono correspondant
  
          
          ButtonGadget(#Valide_0, 180, 10, 30, 40, "OK")
          StringGadget(#String_0, 120, 10, 50, 40, "12:22:33")
          StringGadget(#Personnalise, 10, 30, 100, 20, "")
          StringGadget(#String_00, 10, 60, 200, 20, "")
                   
       thread = CreateThread(@Defilement(),1) ;création du thread DEFILEMENT dans SatusBar
 
        
 Repeat 
 


 
 
    Event=WaitWindowEvent() 
    If Event=#PB_Event_Gadget 
     Select EventGadget() 
                     
        
                    
                       Case #MENU_8
                       MessageRequester("test", "jhhj")
                     
                    
                     
                     Case #Valide_0
                         End
                         
                       
          
                        
       EndSelect 
    EndIf 
    

Until Event=#PB_Event_CloseWindow 
EndIf

Publié : mar. 10/oct./2006 14:20
par Progi1984
Parceque tu ne le gères pas correctement ! Regarde ma boucle principale !

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
  #PB_EventGadget
EndEnumeration

;- Gadget Constants
Enumeration
  #ListeRead
  #String_0
  #String_1
  #String_00
  #Personnalise
  #Valide_0
EndEnumeration

;- StatusBar Constants
Enumeration
  #StatusBar_0
  #MenuBar_0
  #MENU_8
  #MENU_9
EndEnumeration

Global message$ = "         mon texte qui defile"
Global longueur = Len(message$)
Procedure Defilement()
EndProcedure

If OpenWindow(#Window_0, 216, 0, 223, 133, "COMPTE-A-REBOURS",#PB_Window_SystemMenu |#PB_Window_ScreenCentered | #PB_Window_TitleBar) And CreateGadgetList(WindowID(0))
  If CreateStatusBar(#StatusBar_0, WindowID(#Window_0))
  EndIf
  If CreateMenu(#MenuBar_0, WindowID(#Window_0))
    MenuTitle("A propos")
      MenuItem(#MENU_8, "choix1")
      MenuItem(#MENU_9, "choix2")
    MenuTitle("Aide")
  EndIf
  ComboBoxGadget(#ListeRead, 10, 10, 100, 140)
  SetGadgetState(#ListeRead, 0)   ; sélectionne le premier élément (la numérotation commence à 0)
  a = GetGadgetState(#ListeRead)+1 ;donne le chrono correspondant
  ButtonGadget(#Valide_0, 180, 10, 30, 40, "OK")
  StringGadget(#String_0, 120, 10, 50, 40, "12:22:33")
  StringGadget(#Personnalise, 10, 30, 100, 20, "")
  StringGadget(#String_00, 10, 60, 200, 20, "")

  thread = CreateThread(@Defilement(),1) ;création du thread DEFILEMENT dans SatusBar

  Repeat
    Event=WindowEvent()
    If Event=#PB_Event_Gadget
      Select EventGadget()
        Case #Valide_0
          End
      EndSelect
    ElseIf Event=#PB_Event_Menu
      Select EventMenu()
        Case #MENU_8
          MessageRequester("test", "jhhj")
      EndSelect
    EndIf
  Until Event=#PB_Event_CloseWindow
EndIf
[edit1] Pour gérer un masque : regarde la

Publié : mar. 10/oct./2006 15:31
par david
j'avais jamais utilisé de MENUs, mais oui, ça semble évident maintenant
j'ai bien compris ton code, merci!