FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Numéro d'objet survolé par la souris.
par Minibug Aujourd'hui à 22:30

» GPP - Nouvelle version en cours de développement
par Minibug Aujourd'hui à 22:16

» Et encore un éditeur...
par Jean Claude Aujourd'hui à 20:28

» Crash récurent de l'éditeur
par Oscaribout Aujourd'hui à 20:17

» Exemple d'une nouvelle version d'un GRID
par Minibug Aujourd'hui à 19:07

» Nouvelle version 0.32
par Minibug Aujourd'hui à 18:52

» Logiciel de traduction: dernières avancées.
par Pedro Alvarez Aujourd'hui à 14:51

» amelioration de digit1
par pascal10000 Aujourd'hui à 8:25

» Demande de correction de la commande instr_right.
par pascal10000 Aujourd'hui à 7:54

» Recherche de texte AVANT/ARRIERE dans un SYNEDIT
par silverman Hier à 18:51

» molette de la souris
par Fredisland Hier à 17:57

» Plusieurs fonctions pour la souris
par Fredisland Hier à 17:47

» resulta incomplet
par Marc Hier à 13:33

» Make_exe
par JL35 Dim 22 Avr 2018 - 20:10

» [RÉSOLU] MESSAGE_ERROR_YES_NO idem à deux autres
par Fredisland Dim 22 Avr 2018 - 14:29

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2018
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
30      
CalendrierCalendrier

Partagez | 
 

 astuce MARK_ON/OFF pour 'sub_menu'

Aller en bas 
AuteurMessage
silverman

avatar

Nombre de messages : 580
Age : 45
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: astuce MARK_ON/OFF pour 'sub_menu'   Lun 15 Mai 2017 - 17:59

Bonjour à tous,

le pb consiste à retrouver si un 'sub_menu' a été 'MARK_ON/OFF' ou pas. Puisque 'checked' ne fonctionne pas avec les 'sub_menu', et comme il n'existe pas de fonction 'marked(N)', voici un exemple qui montre comment contourner ce pb;
3 méthodes différentes, 1 par menu pour illustrer les possibilités:
Code:
label clicA , clicB , clicC
dim mnu , mnu_clicked


main_menu 1

' menuA
sub_menu 2 : parent 2,1 : caption 2,"menuA"
sub_menu 3 : parent 3,2 : caption 3,"test1A"
sub_menu 4 : parent 4,2 : caption 4,"test2A"
sub_menu 5 : parent 5,2 : caption 5,"test3A"
sub_menu 6 : parent 6,2 : caption 6,"test4A"

' clic sur menuA
for mnu=3 to 6
   on_click mnu,clicA
next mnu
mark_sub_menu(6) :' un sous menu marqué par défaut




' menuB
sub_menu 12 : parent 12,1 : caption 12,"menuB"
sub_menu 13 : parent 13,12 : caption 13,"test1B"
sub_menu 14 : parent 14,12 : caption 14,"test2B"
sub_menu 15 : parent 15,12 : caption 15,"test3B"
sub_menu 16 : parent 16,12 : caption 16,"test4B"

' clic sur menuB
for mnu=13 to 16
   on_click mnu,clicB
next mnu
mark_sub_menu(16) :' un sous menu marqué par défaut




' menuC
sub_menu 22 : parent 22,1 : caption 22,"menuC"
sub_menu 23 : parent 23,22 : caption 23,"test2C"
sub_menu 24 : parent 24,22 : caption 24,"test2C"
sub_menu 25 : parent 25,22 : caption 25,"test3C"
sub_menu 26 : parent 26,22 : caption 26,"test4C"

' clic sur menuC
for mnu=23 to 26
   on_click mnu,clicC
next mnu



END
clicA:
   ' marquer des sous menus : façon CHECK
   mark_sub_menu(number_click)
   mnu_clicked=number_click
   caption 0,str$(mnu_clicked)
return



clicB:
   ' marquer des sous menus : façon OPTION
   for mnu=13 to 16
      if clicked(mnu)=1
         mark_on mnu
         mnu_clicked=mnu
      else
         mark_off mnu
      end_if
   next mnu
   caption 0,str$(mnu_clicked)
return



clicC:
   ' marquer des sous menus : façon OPTION + CHECK (1 seul à la fois ou aucun sous menu marqué)
   for mnu=23 to 26
      if clicked(mnu)=1
         mark_sub_menu(mnu)
         mnu_clicked=mnu
      else
         mark_off mnu
         marked(mnu)=0
      end_if
   next mnu
   caption 0,str$(mnu_clicked)
return



' sub
sub mark_sub_menu(N)
 if variable("marked")=0 then dim marked(10000)
   select marked(N)
      case 0 : marked(N)=1 : mark_on N
      case 1 : marked(N)=0 : mark_off N
   end_select
end_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5291
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: astuce MARK_ON/OFF pour 'sub_menu'   Lun 15 Mai 2017 - 21:00

Merci Silverman pour ce partage.

Au début je ne voyais pas où tu voulais en venir. Mais les commentaires du code m'ont aidés à comprendre. cheers
Ex:  pour le menu A ' marquer des sous menus : façon CHECK. cette option nous permet de cocher plusieurs menus (sans effacer "la coche" des autres options du menu).

Très astucieux.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8043
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 15 Mai 2017 - 21:21

Perso, j' utilise une variable d' état% qui est mise à 1 si le menu est coché.
Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: astuce MARK_ON/OFF pour 'sub_menu'   

Revenir en haut Aller en bas
 
astuce MARK_ON/OFF pour 'sub_menu'
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» WinXP : Quelques astuces pour booster XP
» Trucs/Astuces pour fixer le GPS 276C dans un véhicule
» Ordinateur lent, 6 conseils pour l'accélérer.
» code pour inséré les anime (Fond transparent)
» Plugins Firefox pour sécuriser votre navigateur.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: