Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Menu avec icones entièrement paramétrable Mar 12 Fév 2019 - 20:27 | |
| Bonsoir à tous ! J'avais ce petit menu depuis un certain temps dans mes dossiers... Et comme il commençait à prendre la poussière, je me suis dit autant vous le proposer... L’intérêt c'est qu'il ne contient qu'un fichier avec toutes les icônes, que vous pouvez complètement le paramétrer et même changer les couleurs. Pas mal non ?! N'oubliez pas de sauvegarder l'image ci-dessous dans le même dossier que le code sous le nom ico.jpg. Attention à ne pas changer la dimension du fichier sinon cela ne correspondra plus avec le programme ! Bon amusement et bon test ! Le code est ici : - Spoiler:
- Code:
-
' MENU AVEC ICONES ENTIEREMENT PARAMETRABLE ' PAR MINIBUG ' LE 12.02.2019
DIM a% , b% , n% , x% , t$ , no% , clic% , img% , ico% DIM form% , ALPHA_menu%(7) DIM menu%(6) , menu_icone%(60) DIM menu_fen%(3) , menu_sel% , aff_menu% DIM synedit%
LABEL menu_clic , cacher_menu
DATA " Gestion Menu Personnalisé - par MiNiBuG" DATA "" DATA " Fichier " , " Edition " , " Exécution " , " Outils " , " Configuration " , " Aide " , " Quitter "
' Initialisation du form 0 BORDER_HIDE no% : LEFT no%,(SCREEN_X-1200)/2 : TOP no%,(SCREEN_Y-800)/2 : WIDTH no%,1200 : HEIGHT no%,800 : COLOR no%,255,255,255 : form%=no% : no%=no%+1
' Fenêtre de code SYNEDIT SYNEDIT no% : PARENT no%,form% : TOP no%,48 : HEIGHT no%,HEIGHT_CLIENT(form%)-73 : WIDTH no%,WIDTH_CLIENT(form%) : synedit%=no% : no%=no%+1
' Chargement du PICTURE et IMAGE de base pour les transferts d'icones vers les PICTURES correspondant PICTURE no% : HIDE no% : WIDTH no%,2338 : HEIGHT no%,1936 : FILE_LOAD no%,DIR_CURRENT$+"\ico.jpg" : 2D_TARGET_IS no% : no%=no%+1 IMAGE no% : img%=no% : no%=no%+1 ' Fenêtre principale avec barre de titre , icones et pied de fenêtre PICTURE no% : PARENT no%,form% : WIDTH no%,WIDTH(0) : HEIGHT no%,30 : COLOR no%,50,150,250 : no%=no%+1 ALPHA no% : PARENT no%,form% : TOP no%,4 : FONT_COLOR no%,255,255,255 : COLOR no%,50,150,250 : FONT_SIZE no%,12 : FONT_BOLD no% : READ t$ : CAPTION no%,t$ : no%=no%+1 FOR n%=3 to 1 STEP -1 2D_IMAGE_COPY img%,(194*(n%+5))-190,432,(194*(n%+5))-32,580 : 2D_IMAGE_PASTE img%,0,0 : CLIPBOARD_COPY img% PICTURE no% : PARENT no%,form% : LEFT no%,WIDTH(form%)-130+n%*35 : TOP no%,4 : WIDTH no%,20 : HEIGHT no%,20 CLIPBOARD_PASTE no% : STRETCH_ON no% : ON_CLICK no%,menu_clic : menu_fen%(n%)=no% : no%=no%+1 NEXT n% PANEL no% : PARENT no%,form% : TOP no%,HEIGHT(form%)-25 : WIDTH no%,WIDTH(form%) : HEIGHT no%,25 : COLOR no%,220,250,255 : no%=no%+1 ALPHA no% : PARENT no%,no%-1 : LEFT no%,5 : TOP no%,4 : FONT_COLOR no%,0,0,0 : COLOR no%,220,250,255 : FONT_SIZE no%,11 : READ t$ : CAPTION no%,t$ : no%=no%+1 2D_IMAGE_COPY img%,1556,432,1714,588 : 2D_IMAGE_PASTE img%,0,0 : CLIPBOARD_COPY img% PICTURE no% : PARENT no%,no%-2 : LEFT no%,WIDTH(no%-2)-23 : TOP no%,2 : WIDTH no%,20 : HEIGHT no%,20 CLIPBOARD_PASTE no% : STRETCH_ON no% : ON_CLICK no%,menu_clic : no%=no%+1
' Base du Main_menu FOR n%=1 to 7 ALPHA no% : PARENT no%,form% : LEFT no%,a% : TOP no%,30 : HEIGHT no%,20 : FONT_SIZE no%,10 : READ t$ : CAPTION no%,t$ COLOR no%,255,255,255 : ON_CLICK no%,menu_clic : ALPHA_menu%(n%)=no% : a%=LEFT(no%)+TEXT_WIDTH(t$,no%)+1 : no%=no%+1 NEXT n%
' Barre FICHIER (33,52,194,214) 160,160 PANEL no% : HIDE no% : PARENT no%,form% : TOP no%,46 : WIDTH no%,WIDTH(form%) : HEIGHT no%,90 : COLOR no%,220,250,255 : menu%(1)=no% : no%=no%+1 x%=5 : ico%=1 : charger_icone(1,3,2,"Nouveau",1) : charger_icone(1,6,1,"Ouvrir",1) LIST no% : PARENT no%,menu%(1) : LEFT no%,x% : TOP no%,8 : WIDTH no%,300 : HEIGHT no%,53 : FONT_SIZE no%,10 : FONT_COLOR no%,60,90,95 : ON_CLICK no%,menu_clic menu_icone%(ico%)=no% : ico%=ico%+1 : FOR n%=1 to 10 : ITEM_ADD no%,"Fichier_Panoramic_"+STR$(n%)+".bas" : NEXT n% : no%=no%+1 ALPHA no% : PARENT no%,menu%(1) : LEFT no%,x% : TOP no%,68 : FONT_SIZE no%,10 : FONT_COLOR no%,60,90,95 CAPTION no%,"Fichiers récents": ON_CLICK no%,menu_clic : no%=no%+1 x%=x%+325 : charger_icone(1,5,4,"Enregistrer",0) : charger_icone(1,1,7,"Fermer",0) ' Barre EDITION PANEL no% : HIDE no% : PARENT no%,form% : TOP no%,46 : WIDTH no%,WIDTH(form%) : HEIGHT no%,90 : COLOR no%,220,250,255 : menu%(2)=no% : no%=no%+1 x%=5 : ico%=11 : charger_icone(2,2,1,"Annuler",0) : charger_icone(2,3,1,"Restaurer",0) x%=x%+40 : charger_icone(2,11,6,"Couper",0) : charger_icone(2,8,7,"Copier",0) : charger_icone(2,9,7,"Coller",0) x%=x%+40 : charger_icone(2,1,2,"Rechercher",0) : charger_icone(2,4,2,"Remplacer",0)
' Barre EXECUTION PANEL no% : HIDE no% : PARENT no%,form% : TOP no%,46 : WIDTH no%,WIDTH(form%) : HEIGHT no%,90 : COLOR no%,220,250,255 : menu%(3)=no% : no%=no%+1 x%=10 : ico%=21 : charger_icone(3,10,2,"Exécuter",0) : charger_icone(3,6,6,"Compiler",0)
' Barre OUTILS PANEL no% : HIDE no% : PARENT no%,form% : TOP no%,46 : WIDTH no%,WIDTH(form%) : HEIGHT no%,90 : COLOR no%,220,250,255 : menu%(4)=no% : no%=no%+1 x%=10 : ico%=31 : charger_icone(4,6,8,"Mots clés",1) : charger_icone(4,11,3,"Caractères",1) : charger_icone(4,7,1,"Touches",1) : charger_icone(4,2,2,"Couleurs",1) ' Barre CONFIGURATION PANEL no% : HIDE no% : PARENT no%,form% : TOP no%,46 : WIDTH no%,WIDTH(form%) : HEIGHT no%,90 : COLOR no%,220,250,255 : menu%(5)=no% : no%=no%+1
' Barre AIDE PANEL no% : HIDE no% : PARENT no%,form% : TOP no%,46 : WIDTH no%,WIDTH(form%) : HEIGHT no%,90 : COLOR no%,220,250,255 : menu%(6)=no% : no%=no%+1 x%=5 : ico%=51 : charger_icone(6,10,1,"GPP",1) : charger_icone(6,10,1,"Panoramic",1)
menu_sel%=ALPHA_menu%(1) : ON_MOUSE_MOVE synedit%,cacher_menu
END
menu_clic:
clic%=NUMBER_CLICK
' Gestion du pseudo MAIN_MENU IF ALPHA_menu%(7)=clic% THEN GOSUB cacher_menu : TERMINATE IF clic%>=ALPHA_menu%(1) AND clic%<=ALPHA_menu%(7) COLOR menu_sel%,255,255,255 : HIDE menu%(menu_sel%-ALPHA_menu%(1)+1) IF aff_menu%=0 aff_menu%=1 : TOP synedit%,138 : HEIGHT synedit%,HEIGHT_CLIENT(form%)-163 ELSE IF menu_sel%=clic% : aff_menu%=0 : COLOR menu_sel%,255,255,255 : TOP synedit%,48 : HEIGHT synedit%,HEIGHT_CLIENT(form%)-73 : END_IF END_IF IF ALPHA_menu%(1)=clic% AND aff_menu%=1 THEN SHOW menu%(1) : menu_sel%=ALPHA_menu%(1) : COLOR ALPHA_menu%(1),220,250,255 IF ALPHA_menu%(2)=clic% AND aff_menu%=1 THEN SHOW menu%(2) : menu_sel%=ALPHA_menu%(2) : COLOR ALPHA_menu%(2),220,250,255 IF ALPHA_menu%(3)=clic% AND aff_menu%=1 THEN SHOW menu%(3) : menu_sel%=ALPHA_menu%(3) : COLOR ALPHA_menu%(3),220,250,255 IF ALPHA_menu%(4)=clic% AND aff_menu%=1 THEN SHOW menu%(4) : menu_sel%=ALPHA_menu%(4) : COLOR ALPHA_menu%(4),220,250,255 IF ALPHA_menu%(5)=clic% AND aff_menu%=1 THEN SHOW menu%(5) : menu_sel%=ALPHA_menu%(5) : COLOR ALPHA_menu%(5),220,250,255 IF ALPHA_menu%(6)=clic% AND aff_menu%=1 THEN SHOW menu%(6) : menu_sel%=ALPHA_menu%(6) : COLOR ALPHA_menu%(6),220,250,255 END_IF
' Gestion des icones de la fenêtre principale IF menu_fen%(1)=clic% THEN MESSAGE "réduire" IF menu_fen%(2)=clic% THEN MESSAGE "Full space" IF menu_fen%(3)=clic% THEN TERMINATE ' Gestion du menu FICHIER IF menu_icone%(1)=clic% OR clic%=(menu_icone%(1)+1) THEN TRIGGER_CLICK ALPHA_menu%(1) : MESSAGE "Nouveau" IF menu_icone%(2)=clic% OR clic%=(menu_icone%(2)+1) THEN TRIGGER_CLICK ALPHA_menu%(1) : MESSAGE "Ouvrir" IF menu_icone%(3)=clic% THEN TRIGGER_CLICK ALPHA_menu%(1) : MESSAGE "Fichiers récents : "+ITEM_INDEX$(menu_icone%(3)) IF menu_icone%(4)=clic% OR clic%=(menu_icone%(4)+1) THEN TRIGGER_CLICK ALPHA_menu%(1) : MESSAGE "Enregistrer" IF menu_icone%(5)=clic% OR clic%=(menu_icone%(5)+1) THEN TRIGGER_CLICK ALPHA_menu%(1) : MESSAGE "Fermer" ' Gestion du menu EDITION IF menu_icone%(11)=clic% OR clic%=(menu_icone%(11)+1) THEN TRIGGER_CLICK ALPHA_menu%(2) : MESSAGE "Annuler" IF menu_icone%(12)=clic% OR clic%=(menu_icone%(12)+1) THEN TRIGGER_CLICK ALPHA_menu%(2) : MESSAGE "Restaurer" IF menu_icone%(13)=clic% OR clic%=(menu_icone%(13)+1) THEN TRIGGER_CLICK ALPHA_menu%(2) : MESSAGE "Couper" IF menu_icone%(14)=clic% OR clic%=(menu_icone%(14)+1) THEN TRIGGER_CLICK ALPHA_menu%(2) : MESSAGE "Copier" IF menu_icone%(15)=clic% OR clic%=(menu_icone%(15)+1) THEN TRIGGER_CLICK ALPHA_menu%(2) : MESSAGE "Coller" IF menu_icone%(16)=clic% OR clic%=(menu_icone%(16)+1) THEN TRIGGER_CLICK ALPHA_menu%(2) : MESSAGE "Rechercher" IF menu_icone%(17)=clic% OR clic%=(menu_icone%(17)+1) THEN TRIGGER_CLICK ALPHA_menu%(2) : MESSAGE "Remplacer" ' Gestion du menu EXECUTIION IF menu_icone%(21)=clic% OR clic%=(menu_icone%(21)+1) THEN TRIGGER_CLICK ALPHA_menu%(3) : MESSAGE "Exécuter" IF menu_icone%(22)=clic% OR clic%=(menu_icone%(22)+1) THEN TRIGGER_CLICK ALPHA_menu%(3) : MESSAGE "Compiler" ' Gestion du menu OUTILS IF menu_icone%(31)=clic% OR clic%=(menu_icone%(31)+1) THEN TRIGGER_CLICK ALPHA_menu%(4) : MESSAGE "Mots clés" IF menu_icone%(32)=clic% OR clic%=(menu_icone%(32)+1) THEN TRIGGER_CLICK ALPHA_menu%(4) : MESSAGE "Caractères" IF menu_icone%(33)=clic% OR clic%=(menu_icone%(33)+1) THEN TRIGGER_CLICK ALPHA_menu%(4) : MESSAGE "Touches" IF menu_icone%(34)=clic% OR clic%=(menu_icone%(34)+1) THEN TRIGGER_CLICK ALPHA_menu%(4) : MESSAGE "Couleurs" ' Gestion du menu CONFIGURATION ' Gestion du menu IF menu_icone%(51)=clic% OR clic%=(menu_icone%(51)+1) THEN TRIGGER_CLICK ALPHA_menu%(6) : MESSAGE "Aide GPP" IF menu_icone%(52)=clic% OR clic%=(menu_icone%(52)+1) THEN TRIGGER_CLICK ALPHA_menu%(6) : MESSAGE "Aide Panoramic" RETURN
cacher_menu: FOR n%=1 TO 6 : HIDE menu%(n%) : COLOR ALPHA_menu%(n%),255,255,255 : NEXT n% aff_menu%=0 : TOP synedit%,48 : HEIGHT synedit%,HEIGHT_CLIENT(form%)-73 RETURN
SUB charger_icone(n%,ix%,iy%,t$,c%) DIM_LOCAL a%,b% a%=194*ix%-190 : b%=214*iy%-210 : 2D_IMAGE_COPY img%,a%,b%,a%+158,b%+158 : 2D_IMAGE_PASTE img%,0,0 : clipboard_copy img% PICTURE no% : PARENT no%,menu%(n%) : LEFT no%,x% : TOP no%,5 : WIDTH no%,60 : HEIGHT no%,60 CLIPBOARD_PASTE no% : STRETCH_ON no% : menu_icone%(ico%)=no% : ico%=ico%+1 : no%=no%+1 ALPHA no% : PARENT no%,menu%(n%) : TOP no%,68 : FONT_SIZE no%,11 : CAPTION no%,t$ LEFT no%,x%+(WIDTH(no%-1)/2)-(TEXT_WIDTH(t$,no%)/2) : COLOR no%,220,250,255 : x%=x%+75 : no%=no%+1 IF c%=1 : FONT_COLOR no%-1,60,90,95 : ON_CLICK no%-1,menu_clic : ON_CLICK no%-2,menu_clic : ELSE : FONT_COLOR no%-1,200,230,235 : END_IF END_SUB
Et l'image est là : - Spoiler:
| |
|