Page 1 sur 1

Module pour Menu onglet

Publié : mar. 26/août/2014 13:56
par microdevweb
Pour avoir ceci
Image

Image

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

Re: Module pour Menu onglet

Publié : mar. 26/août/2014 14:36
par Kwai chang caine
Alors la...chapeau !!!
Image
SPLENDID !!!

Je ne sais pas si ton RAD aura cette tête, et si surtout il sera open source, mais ça fait déjà rêver ce que tu fait 8O
Merci beaucoup de ce partage 8)

Re: Module pour Menu onglet

Publié : mar. 26/août/2014 14:49
par microdevweb
Merci Kwai chang caine

Re: Module pour Menu onglet

Publié : mar. 26/août/2014 14:56
par SPH
microdevweb a écrit :Merci Kwai chang caine
KCC pour les intimes 8)

Re: Module pour Menu onglet

Publié : mar. 26/août/2014 14:58
par falsam
SPH a écrit :KCC pour les intimes 8)
Tu l'as dit ..... c'est que pour les intimes :mrgreen:

Re: Module pour Menu onglet

Publié : mar. 26/août/2014 15:12
par Kwai chang caine
MicroDevWeb a écrit :Merci Kwai chang caine
8)
Mon copain a écrit :Tu l'as dit ..... c'est que pour les intimes
T'as compris SPH ??? :mrgreen: :lol:
Image

Re: Module pour Menu onglet

Publié : mar. 26/août/2014 15:19
par falsam
Pardon pour cette intervention SPH, Kwai chang caine m'a fait comprendre en MP que vous étiez effectivement trés proches. MouahhHHHhhh :mrgreen:

PS : Décidément faut que je m'immisce un peu moins dans les posts :mrgreen:

Re: Module pour Menu onglet

Publié : mar. 26/août/2014 18:20
par MetalOS
Sympas, merci du partage.

Re: Module pour Menu onglet

Publié : ven. 29/août/2014 21:44
par venom
Oui merci pour ton partage.

SPH = SePhirotH pour les intimes :lol:






@++

Re: Module pour Menu onglet

Publié : jeu. 13/nov./2014 5:20
par MetalOS
Le lien pour les ressources ne fonctionne plus sur le premier post.