Code : Tout sélectionner
[img]
Global Repertoire.s, FichierIni.s,Modifier,ListMenu,ListBouton
;Modifier Vérifie si ont a changé un des deux tooltip ou le fichier HTML
;ListMenu Sert à savoir quel élément dans #ListeMenu est sélectionné-Modifié dans #ListeMenu-#Down
;ListBouton Sert à savoir quel élément dans #ListeBoutons est sélectionné - Modifier dans case RechercherBouton()
;************************************************************* ENUMERATION *********************************************************************
;{
Enumeration
;
;{******* Fenêtre ***********
#Windows1 ;Fenêtre principale
#Windows2 ;Fenêtre pour changer les tooltips
;}
;{***** TextGadget **********
#TMenu ;Texte tooltip pour le menu - Menu()
#TooltipMenu ;Tooltip pour le menu - Menu()
#TBouton ;Texte tooltip pour le bouton - Menu()
#TooltipBouton ;Tooltip pour le bouton - Menu()
#TFichierHTML ;Texte Fichier HTML: - Menu()
#FichierHTML ;Nom du fichier HTML pour le cadre page - Menu()
#Tooltip ;Texte du tooltip - ChangerTooltip(Tooltip.s)
#NTooltip ;Texte du tooltip(nouveau - ChangerTooltip(Tooltip.s)
;}
;{*** ButtonGadget **********
#ModifierTooltipMenu ;- Menu()
#ModifierTooltipBouton ;- Menu()
#ModifierFichierHTML ;- Menu()
#EnregisterTooltip ;- ChangerTooltip(Tooltip.s)
#AnnulerTooltip ;- ChangerTooltip(Tooltip.s)
#Fermer ;- Menu()
;}
;{*** ListViewGadget ********
#ListeMenu ;Liste des éléments du menu - Menu()
#ListeBoutons ;Liste des boutons - Menu()
;}
;{**** StringGadget ********
#NouveauTooltip ;- ChangerTooltip(Tooltip.s)
;}
;{**** ButtonImageGadget ********
#Up ;- Menu()
#Down ;- Menu()
#NouveauMenu ;- Menu()
#RenommerMenu ;- Menu()
#Supprimer ;- Menu()
;}
EndEnumeration
;}
;*************************************************************** POLICES ***********************************************************************
;{
LoadFont(0,"Arial",8,#PB_Font_HighQuality)
LoadFont(1,"Arial",8,#PB_Font_HighQuality|#PB_Font_Italic|#PB_Font_Underline)
LoadFont(2,"Arial",8,#PB_Font_HighQuality|#PB_Font_Bold)
SetGadgetFont(#PB_Default,FontID(0))
;}
;***********************************************************************************************************************************************
Procedure EcrireIni(Rubrique.s,Clef.s,Valeur.s,Fichier.s)
WritePrivateProfileString_ (Rubrique,Clef,Valeur,Fichier)
EndProcedure
Procedure.s LireIni(Rubrique.s,Clef.s,Fichier.s)
Value.s=Space(255)
IniData=GetPrivateProfileString_(Rubrique,Clef,"",@Value.s,255,Fichier)
ProcedureReturn Value
EndProcedure
Procedure ChangerTooltip(Tooltip.s,Menu)
hWnd2=OpenWindow(#Windows2,200,200,320,100,"Modifier Tooltip",#PB_Window_WindowCentered,WindowID(#Windows1))
hBrush=CreateSolidBrush_(16698567)
SetClassLong_(hWnd2,#GCL_HBRBACKGROUND,hBrush)
ShowCloseButton (WindowID(#Windows2),1)
ShowMinimizeButton (WindowID(#Windows2),0)
ShowMaximizeButton (WindowID(#Windows2),0)
ShowHelpButton (WindowID(#Windows2),0)
ShowTitlebar (WindowID(#Windows2),1)
ShowSunkenBorder (WindowID(#Windows2),0)
MakeToolWindow (WindowID(#Windows2),0)
MakeStayOnTop (WindowID(#Windows2),0)
MakeSizeable (WindowID(#Windows2),0)
MakeMoveable (WindowID(#Windows2),1)
TextGadget(#Tooltip,5,5,310,20,"")
StringGadget(#NouveauTooltip,5,30,310,20,"")
ButtonGadget(#EnregisterTooltip,80,60,80,20,"Enregistrer")
ButtonGadget(#AnnulerTooltip,170,60,80,20,"Annuler")
SetActiveGadget(#NouveauTooltip)
SetGadgetText(#Tooltip,Tooltip)
SetGadgetColor(#Tooltip,#PB_Gadget_FrontColor,$000000):SetGadgetColor(#Tooltip,#PB_Gadget_BackColor,16698567)
Repeat
Event=WindowEvent()
Select Event
Case #PB_Event_CloseWindow:CloseWindow(#Windows2):Break
Case #PB_Event_Gadget
Select EventGadget()
Case #EnregisterTooltip
If Menu=1:SetGadgetText(#TooltipMenu,GetGadgetText(#NouveauTooltip))
Else:SetGadgetText(#TooltipBouton,GetGadgetText(#NouveauTooltip)):EndIf
CloseWindow(#Windows2):Modifier=1:Break
Case #AnnulerTooltip:CloseWindow(#Windows2):Modifier=0:Break
EndSelect;EndSelect EventGadget()
Default
EndSelect;EndSelect Event
ForEver
ProcedureReturn Modifier
EndProcedure
Procedure EnregistrerModification();Appelé par #PB_Event_CloseWindow-#ListeMenu-#ListeBoutons-#Fermer
son.s=Repertoire+"Windows Ding.wav"
LoadSound(0,son)
PlaySound(0)
Resultat=MessageRequester("Modification d'un élément:","Enregistrer les modifications?",#PB_MessageRequester_YesNoCancel|#MB_ICONQUESTION)
If Resultat=6
EcrireIni(GetGadgetItemText(#ListeMenu,ListMenu-1),"Tooltip",GetGadgetText(#TooltipMenu),FichierIni)
Texte.s=GetGadgetItemText(#ListeBoutons,ListBouton-1)+"*"+GetGadgetText(#TooltipBouton)+"*"+GetGadgetText(#FichierHTML)
EcrireIni("Boutons-"+GetGadgetItemText(#ListeMenu,ListMenu-1),"Bouton "+Str(ListBouton),Texte,FichierIni)
Modifier=0
Else
Modifier=0
SetGadgetText(#TooltipMenu,LireIni(GetGadgetText(#ListeMenu),"Tooltip",FichierIni))
Texte=LireIni("Boutons-"+GetGadgetText(#ListeMenu),"Bouton "+Str(GetGadgetState(#ListeBoutons)),FichierIni)
pos=FindString(Texte,"*",0)
Texte.s=Mid(Texte,pos+1,Len(Texte))
pos=FindString(Texte,"*",0)
SetGadgetText(#TooltipBouton,Left(Texte,pos-1))
SetGadgetText(#FichierHTML,Mid(Texte,pos+1,Len(Texte)))
EndIf
EndProcedure
Procedure RechercherBouton();Appelé par #ListeMenu-ModifierMenu(Bouton)
;Recherche les boutons pour le menu sélectionné
;Affiche le Tooltip Menu pour le premier bouton
;Affiche le Tooltip Bouton pour le premier bouton
;Affiche le fichier html pour le premier bouton
ListBouton=1
Nombre=Val(LireIni("Boutons-"+GetGadgetText(#ListeMenu),"Nombre",FichierIni))
ClearGadgetItems(#ListeBoutons)
SetGadgetState(#ListeBoutons,0)
For Compte=1 To Nombre
Texte.s=LireIni("Boutons-"+GetGadgetText(#ListeMenu),"Bouton "+Str(Compte),FichierIni)
pos=FindString(Texte,"*",0)
AddGadgetItem(#ListeBoutons,-1,Left(Texte,pos-1))
SetGadgetState(#ListeBoutons,GetGadgetState(#ListeBoutons)+1):Delay(100):While WindowEvent():Wend
Next
SetGadgetState(#ListeBoutons,0)
Texte=LireIni("Boutons-"+GetGadgetText(#ListeMenu),"Bouton 1",FichierIni)
pos=FindString(Texte,"*",0)
Texte.s=Mid(Texte,pos+1,Len(Texte))
pos=FindString(Texte,"*",0)
SetGadgetText(#TooltipMenu,LireIni(GetGadgetText(#ListeMenu),"Tooltip",FichierIni))
SetGadgetText(#TooltipBouton,Left(Texte,pos-1))
SetGadgetText(#FichierHTML,Mid(Texte,pos+1,Len(Texte)))
EndProcedure
Procedure ModifierMenu(OptionMenu);Appelé par #Up-#Down
;Montte ou abaisse l"élément sélectionné dans #ListeMenu
Select OptionMenu
Case 1;La fonction est appelé par #Up
HideGadget(#Down,0)
SetGadgetState(#ListeMenu,GetGadgetState(#ListeMenu)-1)
If GetGadgetState(#ListeMenu)=0:HideGadget(#Up,1):EndIf
ListMenu=ListMenu-1
AncienNom.s=GetGadgetText(#ListeMenu)
NouveauNom.s=GetGadgetItemText(#ListeMenu,GetGadgetState(#ListeMenu)+1)
SetGadgetItemText(#ListeMenu,GetGadgetState(#ListeMenu)+1,AncienNom)
SetGadgetItemText(#ListeMenu,GetGadgetState(#ListeMenu),NouveauNom)
SetGadgetState(#ListeMenu,ListMenu-1)
Case 2;La fonction est appelé par #Down
HideGadget(#Up,0)
SetGadgetState(#ListeMenu,GetGadgetState(#ListeMenu)+1)
If GetGadgetState(#ListeMenu)=CountGadgetItems(#ListeMenu)-1:HideGadget(#Down,1):EndIf
ListMenu=ListMenu+1
AncienNom.s=GetGadgetText(#ListeMenu)
NouveauNom.s=GetGadgetItemText(#ListeMenu,GetGadgetState(#ListeMenu)-1)
SetGadgetItemText(#ListeMenu,GetGadgetState(#ListeMenu)-1,AncienNom)
SetGadgetItemText(#ListeMenu,GetGadgetState(#ListeMenu),NouveauNom)
SetGadgetState(#ListeMenu,ListMenu-1)
EndSelect
For Compte=0 To CountGadgetItems(#ListeMenu)-1
EcrireIni("Menu",Str(Compte+1),GetGadgetItemText(#ListeMenu,Compte),FichierIni)
Next Compte
EndProcedure
buffer.s=Space(1000):GetCurrentDirectory_(1000,@buffer):Repertoire=buffer+"\"
FichierIni=Repertoire+"Sommaire.ini"
hWnd=OpenWindow(#Windows1,200,200,700,300,"Sommaire",#PB_Window_ScreenCentered)
hBrush=CreateSolidBrush_(16698567)
SetClassLong_(hWnd,#GCL_HBRBACKGROUND,hBrush)
ShowCloseButton (WindowID(#Windows1),1)
ShowMinimizeButton (WindowID(#Windows1),0)
ShowMaximizeButton (WindowID(#Windows1),0)
ShowHelpButton (WindowID(#Windows1),0)
ShowTitlebar (WindowID(#Windows1),1)
ShowSunkenBorder (WindowID(#Windows1),0)
MakeToolWindow (WindowID(#Windows1),0)
MakeStayOnTop (WindowID(#Windows1),0)
MakeSizeable (WindowID(#Windows1),0)
MakeMoveable (WindowID(#Windows1),1)
ListViewGadget(#ListeMenu,5,10,180,250)
ListViewGadget(#ListeBoutons,190,10,180,250)
TextGadget(#TMenu,380,10,310,20,"Tooltip du Menu:")
TextGadget(#TooltipMenu,380,30,310,40,"")
TextGadget(#TBouton,380,70,310,20,"Tooltip du Bouton:")
TextGadget(#TooltipBouton,380,90,310,40,"")
TextGadget(#TFichierHTML,380,130,310,20,"Fichier HTML:")
TextGadget(#FichierHTML,380,150,310,20,"")
ButtonGadget(#ModifierTooltipMenu,400,180,115,20,"Modifier tooltip Menu")
ButtonGadget(#ModifierTooltipBouton,520,180,115,20,"Modifier tooltip Bouton")
ButtonGadget(#ModifierFichierHTML,400,205,115,20,"ModifierFichierHTML")
ButtonGadget(#Fermer,520,205,115,20,"Fermer")
; ButtonImageGadget(#Up,5,260,40,40,ExtractIcon_(0,"C:\Windows\System32\xpsrchvw.exe",5))
; ButtonImageGadget(#Down,50,260,40,40,ExtractIcon_(0,"C:\Windows\System32\xpsrchvw.exe",7))
; ButtonImageGadget(#NouveauMenu,95,260,40,40,ExtractIcon_(0,"C:\Windows\System32\Shell32.dll",0))
; ButtonImageGadget(#RenommerMenu,140,260,40,40,ExtractIcon_(0,"C:\Windows\System32\Shell32.dll",87))
; ButtonImageGadget(#Supprimer,185,260,40,40,ExtractIcon_(0,"C:\Windows\System32\Shell32.dll",102))
hWndPanel=PanelGadget(1,5,265,200,25)
hWndTB=CreateToolBar(1,WindowID(#Windows1))
ToolBarStandardButton(100,#PB_ToolBarIcon_New)
ToolBarImageButton(101,ExtractIcon_(0,"C:\Windows\System32\Shell32.dll",102))
SetParent_(hWndTB,hWndPanel);//move into panel
; HideGadget(#Up,1)
;{----Polices----
SetGadgetFont(#TMenu,FontID(1))
SetGadgetFont(#TooltipMenu,FontID(2))
SetGadgetFont(#TBouton,FontID(1))
SetGadgetFont(#TooltipBouton,FontID(2))
SetGadgetFont(#TFichierHTML,FontID(1))
SetGadgetFont(#FichierHTML,FontID(2))
;}
;{---Couleurs----
SetGadgetColor(#TMenu,#PB_Gadget_FrontColor,$000000):SetGadgetColor(#TMenu,#PB_Gadget_BackColor,16698567)
SetGadgetColor(#TooltipMenu,#PB_Gadget_FrontColor,$000000):SetGadgetColor(#TooltipMenu,#PB_Gadget_BackColor,16698567)
SetGadgetColor(#TBouton,#PB_Gadget_FrontColor,$000000):SetGadgetColor(#TBouton,#PB_Gadget_BackColor,16698567)
SetGadgetColor(#TooltipBouton,#PB_Gadget_FrontColor,$000000):SetGadgetColor(#TooltipBouton,#PB_Gadget_BackColor,16698567)
SetGadgetColor(#TFichierHTML,#PB_Gadget_FrontColor,$000000):SetGadgetColor(#TFichierHTML,#PB_Gadget_BackColor,16698567)
SetGadgetColor(#FichierHTML,#PB_Gadget_FrontColor,$000000):SetGadgetColor(#FichierHTML,#PB_Gadget_BackColor,16698567)
;}
Nombre=Val(LireIni("Menu","Nombre",FichierIni))
For Compte=1 To Nombre:AddGadgetItem(#ListeMenu,-1,LireIni("Menu",Str(Compte),FichierIni)):Next
SetGadgetState(#ListeMenu,0)
SetGadgetText(#TooltipMenu,LireIni(GetGadgetText(#ListeMenu),"Tooltip",FichierIni))
Nombre=Val(LireIni("Boutons-"+GetGadgetText(#ListeMenu),"Nombre",FichierIni))
For Compte=1 To Nombre
Texte.s=LireIni("Boutons-"+GetGadgetText(#ListeMenu),"Bouton "+Str(Compte),FichierIni)
pos=FindString(Texte,"*",0)
AddGadgetItem(#ListeBoutons,-1,Left(Texte,pos-1))
Next
SetGadgetState(#ListeBoutons,0)
Texte=LireIni("Boutons-"+GetGadgetText(#ListeMenu),"Bouton 1",FichierIni)
pos=FindString(Texte,"*",0)
Texte.s=Mid(Texte,pos+1,Len(Texte))
pos=FindString(Texte,"*",0)
SetGadgetText(#TooltipBouton,Left(Texte,pos-1))
SetGadgetText(#FichierHTML,Mid(Texte,pos+1,Len(Texte)))
ListMenu=1
ListBouton=1
InitSound()
Repeat
Event=WaitWindowEvent()
Select Event
Case #PB_Event_CloseWindow
If Modifier=1:EnregistrerModification():EndIf
Case #PB_Event_Menu
Select EventMenu()
EndSelect;EndSelect EventMenu()
Case #PB_Event_Gadget
Select EventGadget()
Case #ListeMenu
If ListMenu<>GetGadgetState(#ListeMenu)+1
If GetGadgetState(#ListeMenu)>0:HideGadget(#Up,0):Else:HideGadget(#Up,1):EndIf
If GetGadgetState(#ListeMenu)=CountGadgetItems(#ListeMenu)-1:HideGadget(#Down,1):Else:HideGadget(#Down,0):EndIf
If Modifier=1:EnregistrerModification():EndIf
RechercherBouton()
ListMenu=GetGadgetState(#ListeMenu)+1
EndIf
Case #ListeBoutons
If ListBouton<>GetGadgetState(#ListeBoutons)+1
If Modifier=1:EnregistrerModification():EndIf
Texte.s=LireIni("Boutons-"+GetGadgetText(#ListeMenu),"Bouton "+Str(GetGadgetState(#ListeBoutons)+1),FichierIni)
pos=FindString(Texte,"*",0)
Texte.s=Mid(Texte,pos+1,Len(Texte))
pos=FindString(Texte,"*",0)
SetGadgetText(#TooltipBouton,Left(Texte,pos-1))
SetGadgetText(#FichierHTML,Mid(Texte,pos+1,Len(Texte)))
ListBouton=GetGadgetState(#ListeBoutons)+1
EndIf
Case #Up:ModifierMenu(1)
Case #Down:ModifierMenu(2)
Case #ModifierTooltipMenu:Modifier=ChangerTooltip(GetGadgetText(#TooltipMenu),1)
Case #ModifierTooltipBouton:Modifier=ChangerTooltip(GetGadgetText(#TooltipBouton),2)
Case #ModifierFichierHTML
Fichier.s=OpenFileRequester("Changer Fichier HTML",Repertoire,"Fichiers HTML|*.htm;*.html|Tous les fichiers|*.*",0)
Fichier=Mid(Fichier,Len(Repertoire),Len(Fichier)-Len(Repertoire))
SetGadgetText(#FichierHTML,Fichier):Modifier=1
EndSelect;EndSelect EventGadget()
Default
EndSelect;EndSelect Event
Until Event=#PB_Event_CloseWindow
[/img]