Mai 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | Calendrier |
|
| | Menu Contextuel - Click de droite | |
| | Auteur | Message |
---|
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Menu Contextuel - Click de droite Dim 11 Oct 2015 - 10:44 | |
| Bonjour a tous ! Je suis toujours dans la recherche et le développement de GPP. je cherche régulièrement des possibilités pour améliorer mon outil. Je vous en livre un, Il s'agit d'un clic droit a partir d'un LIST et un TIMER. C'est simple mais ça fonctionne plutôt bien. Si vous avez des améliorations a m'apporter je suis preneur... Le fonctionnement : Vous choisissez une option dans le LIST de départ Ensuite vous faites un clic droit et vous choisissez Si vous ne cliquez pas au bout de quelques secondes, le menu disparaît - Code:
-
DIM n% , espace% LABEL appel_timer , click
LIST 1 : LEFT 1,10 : TOP 1,10 : WIDTH 1,200 : HEIGHT 1,200 : FOR n%=1 TO 7 : ITEM_ADD 1,"Choix "+STR$(n%) : NEXT n% TIMER 2 : TIMER_INTERVAL 2,500 : ON_TIMER 2,appel_timer : TIMER_ON 2
PANEL 3 : WIDTH 3,162 : HEIGHT 3,86 : HIDE 3 : FONT_SIZE 3,11 PICTURE 4 : PARENT 4,3 : COLOR 4,240,240,240 : FULL_SPACE 4 : WIDTH 4,17 : STRETCH_ON 4 : FILE_LOAD 4,"D:\BASIC\GPP\systeme\icones\menu.bmp" LIST 5 : PARENT 5,3 : COLOR 5,240,240,240 : FULL_SPACE 5 : LEFT 5,18 : WIDTH 5,WIDTH(5)-17 : ON_CLICK 5,click ITEM_ADD 5,"Afficher le choix" : ITEM_ADD 5,"Menu fictif 1" : ITEM_ADD 5,"Menu fictif 2" : ITEM_ADD 5,"Menu fictif 3" : ITEM_ADD 5,"Quitter"
END
appel_timer: IF MOUSE_RIGHT_DOWN(1)=1 AND ITEM_INDEX(1)<>0 THEN LEFT 3,MOUSE_X_POSITION(1)+10 : TOP 3,MOUSE_Y_POSITION(1)+10 : SHOW 3 : espace%=0
IF SHOW(3)=1 : espace%=espace%+1 : END_IF : IF espace%>6 : HIDE 3 : espace%=0 : END_IF RETURN
click: IF ITEM_INDEX(5)=1 THEN HIDE 3 : MESSAGE "Vous avez sélectionnez le choix "+STR$(ITEM_INDEX(1)) IF ITEM_INDEX(5)=2 THEN HIDE 3 IF ITEM_INDEX(5)=3 THEN HIDE 3 IF ITEM_INDEX(5)=4 THEN HIDE 3 IF ITEM_INDEX(5)=5 THEN HIDE 3 : TERMINATE RETURN
Dernière édition par Minibug le Dim 11 Oct 2015 - 12:05, édité 1 fois | |
| | | Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Menu Contextuel - Click de droite Dim 11 Oct 2015 - 11:59 | |
| Je viens de mettre a jour le programme On peut ajouter une petite bande d'icones. C'est en fait une image. | |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: Menu Contextuel - Click de droite Dim 11 Oct 2015 - 13:56 | |
| minibug j'ai déjà développé de menu contextuel je vais voir ça | |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: Menu Contextuel - Click de droite Dim 11 Oct 2015 - 15:09 | |
| essaye ça mais au click suivant le message s'allume autant de fois et je n'sais pas pourquoi j'ai pas trouver c comme si la commande etait lu plusieur fois mais c mieu que rien - Code:
-
DIM n% , x%, my, mx label show10 label survol label click form 10 border_hide 10 width 10,120 :height 10,80
LIST 1 LEFT 1,10 : TOP 1,10 WIDTH 1,200 : HEIGHT 1,200 FOR n%=1 TO 7 : ITEM_ADD 1,"Choix "+STR$(n%) : NEXT n% on_click 1,show10 command_target_is 10 main_menu 20
sub_menu 30: parent 30,20: caption 30,"Afficher le choix" : on_click 30,click sub_menu 31:parent 31,20: caption 31,"Menu fictif 2 " : on_click 31,click sub_menu 32:parent 32,20: caption 32,"Menu fictif 3 " : on_click 32,click sub_menu 33:parent 33,20: caption 33,"Menu fictif 4 " : on_click 33,click hide 10
timer 100:timer_interval 100,1:on_timer 100,survol end
click: timer_off 100 hide 10 if clicked(30)=1 then MESSAGE "Vous avez sélectionnez le choix "+STR$(ITEM_INDEX(1)) if clicked(31)=1 then MESSAGE "Vous avez sélectionnez le choix "+STR$(ITEM_INDEX(1)) if clicked(32)=1 then MESSAGE "Vous avez sélectionnez le choix "+STR$(ITEM_INDEX(1)) if clicked(33)=1 then terminate timer_on 100 return
show10:
show 10 border_small 10 border_hide 10 top 10,my+40:left 10,mx+30 return
survol: timer_off 100 my=mouse_y_position(1):mx=mouse_x_position(1) caption 0,str$(my)+" / "+str$(mx) timer_on 100 return | |
| | | Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Menu Contextuel - Click de droite Dim 11 Oct 2015 - 15:30 | |
| Merci Pascal !
Sauf que toi tu ne gére que le clic gauche. Avec ma méthode, je gére la sélection au clic gauche et l'affichage du menu au clic droit ! | |
| | | silverman
Nombre de messages : 968 Age : 51 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Menu Contextuel - Click de droite Dim 11 Oct 2015 - 16:03 | |
| - pascal10000 a écrit:
- mais au click suivant le message s'allume autant de fois
et je n'sais pas pourquoi j'ai pas trouver c'est parceque quand l'objet a été cliqué, clicked(n)=1 et reste à 1. Il faudrait essayer avec la fonction 'number_click' | |
| | | Marc
Nombre de messages : 2396 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Menu Contextuel - Click de droite Dim 11 Oct 2015 - 19:31 | |
| Cool Minibug ! Merci et Bravo ! | |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: Menu Contextuel - Click de droite Lun 12 Oct 2015 - 7:09 | |
| essaye ça si ça te convient - Code:
-
DIM n% , x%, my, mx, key label show10 label survol label click form 10 border_hide 10 width 10,120 :height 10,80 key=0
LIST 1 LEFT 1,10 : TOP 1,10 WIDTH 1,200 : HEIGHT 1,200 FOR n%=1 TO 7 : ITEM_ADD 1,"Choix "+STR$(n%) : NEXT n% on_click 1,show10 command_target_is 10 main_menu 20
sub_menu 30: parent 30,20: caption 30,"Afficher le choix" : on_click 30,click sub_menu 31:parent 31,20: caption 31,"Menu fictif 2 " : on_click 31,click sub_menu 32:parent 32,20: caption 32,"Menu fictif 3 " : on_click 32,click sub_menu 33:parent 33,20: caption 33,"Menu fictif 4 " : on_click 33,click hide 10
timer 100:timer_interval 100,1:on_timer 100,survol end
click: timer_off 100 if clicked(30)=1 then MESSAGE "Vous avez sélectionnez le choix "+STR$(ITEM_INDEX(1)) if clicked(31)=1 then MESSAGE "Vous avez sélectionnez le choix "+STR$(ITEM_INDEX(1)) if clicked(32)=1 then MESSAGE "Vous avez sélectionnez le choix "+STR$(ITEM_INDEX(1)) if clicked(33)=1 then terminate hide 10 timer_on 100 return
show10: timer_off 100 while key><2 key=0 while key=0 key=scancode end_while if key=2 then show 10
border_small 10 border_hide 10 top 10,my+40:left 10,mx+30 end_while key=0 timer_on 100 return
survol: timer_off 100 my=mouse_y_position(1):mx=mouse_x_position(1) caption 0,str$(my)+" / "+str$(mx) timer_on 100 return | |
| | | Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Menu Contextuel - Click de droite Lun 12 Oct 2015 - 14:16 | |
| Salut Pascal ! L'idée d'utiliser les SUB_MENU et MAIN_MENU est intéressante. C'est une idée a creuser effectivement. je vais tacher de m'en souvenir. Pour l'instant je suis parti sur une autre version avec icones que je vais intégrer a GPP. Dans tous les cas je vous tiens au courant. Encore merci pour tes idées Pascal. | |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: Menu Contextuel - Click de droite Lun 12 Oct 2015 - 17:40 | |
| minibug le groupe de commande while te sera certainement très utile | |
| | | Contenu sponsorisé
| Sujet: Re: Menu Contextuel - Click de droite | |
| |
| | | | Menu Contextuel - Click de droite | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |