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
» Synedit Parameters
par Yannick Aujourd'hui à 0:27

» Code à vérifier SVP (Oups ! résolu)
par Jean Claude Hier à 21:16

» Compilateur FBPano
par jean_debord Hier à 9:56

» Bienvenue à Virtualalan !
par UltraVox Hier à 9:18

» Concours de Morpions
par jjn4 Hier à 0:04

» ShortName$(F) [Cloturé]
par papydall Mer 21 Juin 2017 - 16:19

» Remplacer espace par tiret dans noms des dossiers / fichiers
par papydall Mer 21 Juin 2017 - 15:27

» Menu personalisé avec icones et menu contextuel
par Laurent (Minibug) Mer 21 Juin 2017 - 12:44

» La liste des choses à faire ...
par Jack Mar 20 Juin 2017 - 22:49

» Quoi de neuf à propos de Goric 3D ? (@Jack)
par UltraVox Mar 20 Juin 2017 - 21:06

» Nom court et anti fenetre dos
par silverman Mar 20 Juin 2017 - 18:31

» Ludothèque Panoramic
par jjn4 Mar 20 Juin 2017 - 18:09

» Proposition à la communauté
par Yannick Mar 20 Juin 2017 - 15:02

» >199
par maelilou Mar 20 Juin 2017 - 14:13

» NUMBER_FOCUS
par Yannick Lun 19 Juin 2017 - 15:25

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2017
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  
CalendrierCalendrier

Partagez | 
 

 astuce MARK_ON/OFF pour 'sub_menu'

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
silverman

avatar

Nombre de messages : 441
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: astuce MARK_ON/OFF pour 'sub_menu'   Lun 15 Mai 2017 - 18: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 : 4922
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: astuce MARK_ON/OFF pour 'sub_menu'   Lun 15 Mai 2017 - 22: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 : 7809
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 15 Mai 2017 - 22: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'
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Astuce] Eplucher un oignon sans pleurer
» Astuce barre de navigation en haut pour forum en invision
» Astuce Modifier le "Qui est en ligne" pour les forums en Invision
» Astuce pour avoir un lien vers le panneau d'administration (Phpbb3)
» Astuce de la semaine: un selecteur de thème pour vos membres

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