Lien pour le module les image et le petit programme de teste
http://www.partage-facile.com/3COG9Q0XZ ... r.zip.html
Et le code
Code : Tout sélectionner
XIncludeFile "ToolsBar.pbi"
DeclareModule MainForm
Enumeration FormGadget
#Tools
#Canvas
EndEnumeration
Global Id
Declare Open()
EndDeclareModule
Module MainForm
UsePNGImageDecoder()
Global CurrentDirectory$=GetCurrentDirectory()
Enumeration Onglet
#Main
#DataBase
EndEnumeration
Enumeration Img
#Img_NewFile
#Img_OpenFile
#Img_SaveFile
#Img_SaveAsFile
#Img_CloseProject
#Img_EditProject
#Img_Parameters
#Help_NewProject
#Help_OpenProject
#Help_EditProject
#Help_CloseProject
#Help_SaveProject
#Help_SaveAsProject
#Help_Parameters
#Img_NewData
#Img_EditData
#Img_DeleteData
#Help_NewFile
#Help_EditFile
#Help_DeleteFile
#Img_Hand
#Help_SelectedMode
#Img_Link
#Help_LinkMode
#Img_Grid
#Help_Grid
#Logo
EndEnumeration
Enumeration ImageButton
#NewFile
#OpenFile
#EditProject
#SaveFile
#SaveAsFile
#CloseProject
#Parameters
#NewData
#EditData
#DeleteData
#SelectedMode
#LinkMode
#GridOnOf
#GridSize
EndEnumeration
CatchImage(#Img_NewFile,?Img_NewFile)
CatchImage(#Img_OpenFile,?Img_OpenFile)
CatchImage(#Img_SaveFile,?Img_SaveFile)
CatchImage(#Img_SaveAsFile,?Img_SaveAsFile)
CatchImage(#Img_CloseProject,?Img_CloseProject)
CatchImage(#Img_EditProject,?Img_EditProject)
CatchImage(#Img_Parameters,?Img_Parameters)
CatchImage(#Help_NewProject,?Help_NewProject)
CatchImage(#Help_OpenProject,?Help_OpenProject)
CatchImage(#Help_EditProject,?Help_EditProject)
CatchImage(#Help_CloseProject,?Help_CloseProject)
CatchImage(#Help_SaveProject,?Help_SaveProject)
CatchImage(#Help_SaveAsProject,?Help_SaveAsProject)
CatchImage(#Help_Parameters,?Help_Parameters)
CatchImage(#Img_NewData,?Img_NewData)
CatchImage(#Img_EditData,?Img_EditData)
CatchImage(#Img_DeleteData,?Img_DeleteData)
CatchImage(#Help_NewFile,?Help_NewFile)
CatchImage(#Help_EditFile,?Help_EditFile)
CatchImage(#Help_DeleteFile,?Help_DeleteFile)
CatchImage(#Img_Hand,?Img_Hand)
CatchImage(#Help_SelectedMode,?Help_SelectedMode)
CatchImage(#Img_Link,?Img_Link)
CatchImage(#Help_LinkMode,?Help_LinkMode)
CatchImage(#Img_Grid,?Img_Grid)
CatchImage(#Help_Grid,?Help_Grid)
CatchImage(#Logo,?Img_Logo)
Procedure NewProject()
Debug "New project"
EndProcedure
Procedure SelectOnglet(IdOnglet.i)
Debug "Onglet: "+Str(IdOnglet)
EndProcedure
Procedure ModeSelect()
If ToolsBar::GetImageButtonSate(#Tools,#DataBase,1,#SelectedMode)=#True
ToolsBar::SetImageButtonSate(#Tools,#DataBase,1,#LinkMode,#False)
EndIf
EndProcedure
Procedure ModeLink()
If ToolsBar::GetImageButtonSate(#Tools,#DataBase,1,#LinkMode)=#True
ToolsBar::SetImageButtonSate(#Tools,#DataBase,1,#SelectedMode,#False)
EndIf
EndProcedure
Procedure SpinMangement(Value)
Debug "Value of spin: "+Str(Value)
EndProcedure
Procedure Open()
Protected W,H,X,Y
Protected Flag=#PB_Window_SystemMenu|#PB_Window_Maximize|#PB_Window_ScreenCentered|#PB_Window_MaximizeGadget
Id=OpenWindow(#PB_Any,0,0,800,600,"Main form",Flag)
W=WindowWidth(Id)
ToolsBar::Init(#Tools,Id,0,0,-1,100)
ToolsBar::AddOnglet(#Tools,#Main,"Main",#True)
ToolsBar::AddGroupe(#Tools,#Main,304,"Project")
ToolsBar::AddImageButton(#Tools,#Main,0,#NewFile,#Img_NewFile,2,2,50,50)
ToolsBar::AddImageButtonHelp(#Tools,#Main,0,#NewFile,#Help_NewProject,400,100)
ToolsBar::AddImageButtonEventProcedure(#Tools,#Main,0,#NewFile,@NewProject())
ToolsBar::AddImageButton(#Tools,#Main,0,#OpenFile,#Img_OpenFile,50,2,50,50)
ToolsBar::AddImageButtonHelp(#Tools,#Main,0,#OpenFile,#Help_OpenProject,402,102)
ToolsBar::AddImageButton(#Tools,#Main,0,#EditProject,#Img_EditProject,100,2,50,50)
ToolsBar::AddImageButtonHelp(#Tools,#Main,0,#EditProject,#Help_EditProject,402,102)
ToolsBar::AddImageButton(#Tools,#Main,0,#CloseProject,#Img_CloseProject,150,2,50,50)
ToolsBar::AddImageButtonHelp(#Tools,#Main,0,#CloseProject,#Help_CloseProject,360,100)
ToolsBar::AddImageButton(#Tools,#Main,0,#SaveFile,#Img_SaveFile,200,2,50,50)
ToolsBar::AddImageButtonHelp(#Tools,#Main,0,#SaveFile,#Help_SaveProject,360,100)
ToolsBar::AddImageButton(#Tools,#Main,0,#SaveAsFile,#Img_SaveAsFile,250,2,50,50)
ToolsBar::AddImageButtonHelp(#Tools,#Main,0,#SaveAsFile,#Help_SaveAsProject,360,130)
ToolsBar::AddGroupe(#Tools,#Main,100,"Parameters")
ToolsBar::AddImageButton(#Tools,#Main,1,#Parameters,#Img_Parameters,25,2,50,50)
ToolsBar::AddImageButtonHelp(#Tools,#Main,1,#Parameters,#Help_Parameters,360,96)
ToolsBar::AddOnglet(#Tools,#DataBase,"Data-Base Management")
ToolsBar::AddGroupe(#Tools,#DataBase,154,"Files functions")
ToolsBar::AddImageButton(#Tools,#DataBase,0,#NewData,#Img_NewData,0,2,50,50)
ToolsBar::AddImageButtonHelp(#Tools,#DataBase,0,#NewData,#Help_NewFile,400,100)
ToolsBar::AddImageButton(#Tools,#DataBase,0,#EditData,#Img_EditData,50,2,50,50)
ToolsBar::AddImageButtonHelp(#Tools,#DataBase,0,#EditData,#Help_EditFile,402,102)
ToolsBar::AddImageButton(#Tools,#DataBase,0,#DeleteData,#Img_DeleteData,100,2,50,50)
ToolsBar::AddImageButtonHelp(#Tools,#DataBase,0,#DeleteData,#Help_DeleteFile,400,100)
ToolsBar::AddGroupe(#Tools,#DataBase,130,"Selected mode")
ToolsBar::AddImageButton(#Tools,#DataBase,1,#SelectedMode,#Img_Hand,10,2,50,50,#True)
ToolsBar::AddImageButtonHelp(#Tools,#DataBase,1,#SelectedMode,#Help_SelectedMode,563,184)
ToolsBar::AddImageButtonEventProcedure(#Tools,#DataBase,1,#SelectedMode,@ModeSelect())
ToolsBar::AddImageButton(#Tools,#DataBase,1,#LinkMode,#Img_Link,60,2,50,50,#True)
ToolsBar::AddImageButtonHelp(#Tools,#DataBase,1,#LinkMode,#Help_LinkMode,563,184)
ToolsBar::AddImageButtonEventProcedure(#Tools,#DataBase,1,#LinkMode,@ModeLink())
ToolsBar::AddGroupe(#Tools,#DataBase,135,"Grid functions")
ToolsBar::AddImageButton(#Tools,#DataBase,2,#GridOnOf,#Img_Grid,10,2,50,50,#True)
ToolsBar::AddImageButtonHelp(#Tools,#DataBase,2,#GridOnOf,#Help_Grid,315,121)
ToolsBar::AddLabel(#Tools,#DataBase,2,65,0,50,25,"Grid size",ToolsBar::#Middle)
ToolsBar::SetLabelFont(LoadFont(#PB_Any,"Arial",9),0,$E28422)
ToolsBar::AddSpin(#Tools,#DataBase,2,#GridSize,65,20,50,25,5,30,15)
ToolsBar::AddSpinEventProcedure(#Tools,#DataBase,2,#GridSize,@SpinMangement())
ToolsBar::AddOngletProcedure(#Tools,@SelectOnglet())
ToolsBar::SetHelpOnOf(#Tools)
ToolsBar::Show(#Tools)
W=WindowWidth(Id)
H=WindowHeight(Id)-100
CanvasGadget(#Canvas,0,100,W,H)
X=(W/2)-300
Y=(H/2)-110
StartDrawing(CanvasOutput(#Canvas))
Box(0,0,W,H,$AAE8EE)
DrawingMode(#PB_2DDrawing_AlphaClip)
DrawImage(ImageID(#Logo),X,Y)
StopDrawing()
EndProcedure
DataSection
Img_NewFile: :IncludeBinary "IMG\NewProject.png"
Img_OpenFile: :IncludeBinary "IMG\OpenProject.png"
Img_SaveFile: :IncludeBinary "IMG\SaveProject.png"
Img_SaveAsFile: :IncludeBinary "IMG\SaveAsProject.png"
Img_CloseProject: :IncludeBinary "IMG\CloseProject.png"
Img_EditProject: :IncludeBinary "IMG\EditProject.png"
Img_Parameters: :IncludeBinary "IMG\Parametre.png"
Help_NewProject: :IncludeBinary "HELP\Newproject.png"
Help_OpenProject: :IncludeBinary "HELP\Openproject.png"
Help_EditProject: :IncludeBinary "HELP\Editproject.png"
Help_CloseProject: :IncludeBinary "HELP\Closeproject.png"
Help_SaveProject: :IncludeBinary "HELP\Saveproject.png"
Help_SaveAsProject: :IncludeBinary "HELP\SaveAsproject.png"
Help_Parameters: :IncludeBinary "HELP\Parameters.png"
Img_NewData: :IncludeBinary "IMG\NewFile.png"
Img_EditData: :IncludeBinary "IMG\EditFile.png"
Img_DeleteData: :IncludeBinary "IMG\DeleteFile.png"
Help_NewFile: :IncludeBinary "HELP\NewFile.png"
Help_EditFile: :IncludeBinary "HELP\EditFile.png"
Help_DeleteFile: :IncludeBinary "HELP\DeleteFile.png"
Img_Hand: :IncludeBinary "IMG\ModeSelect.png"
Help_SelectedMode: :IncludeBinary "HELP\SelectMode.png"
Img_Link: :IncludeBinary "IMG\LinkSelect.png"
Help_LinkMode: :IncludeBinary "HELP\LinkMode.png"
Img_Grid: :IncludeBinary "IMG\Grid.png"
Help_Grid: :IncludeBinary "HELP\GridOnOf.png"
Img_Logo: :IncludeBinary "IMG\Microdev.png"
EndDataSection
EndModule
Global gEvent
MainForm::Open()
Repeat
gEvent=WaitWindowEvent()
Select gEvent
Case #PB_Event_Gadget
If ToolsBar::Event(MainForm::#Tools,gEvent)
ToolsBar::Show(MainForm::#Tools)
EndIf
EndSelect
Until gEvent=#PB_Event_CloseWindow