Page 1 sur 1

Tuto menu onglet Partie 2 (procédure d'initialisation)

Publié : mer. 27/août/2014 9:27
par microdevweb
Voici les premières procédure pour l'initialisations
à encoder entre

Code : Tout sélectionner

Module ToolsBar

EndModule
et on déclare la procédure init ici

Code : Tout sélectionner

DeclareModule ToolsBar
      Declare Init(Id,IdWindow,X,Y,Width=-1,Heidht=100)Init(Id,IdWindow,X,Y,Width=-1,Heidht=100)
EndDeclareModule
La procédure sera appelée à l'extérieur du module comme suit

Code : Tout sélectionner

ToolsBar::Init(#Id_Menu_Onglet,#ID_Form,X,Y,W,H)
le code de la procédure DefaultParameters()

Code : Tout sélectionner

;Pocédure pour charger les paramètre par défaut couleur font ect... (seront modifiable)
       Procedure DefaultParameters()
            myTools()\BackColor=$EBCE87
            myTools()\LineColor=$FF901E
            myTools()\HeightOnglet=25
            myTools()\LeftOngletMargin=40
            myTools()\BackColorOngletSelected=$FCEACC
            myTools()\FrontColorOngletSelected=$FEF9F1
            myTools()\MarginOnglet=10
            myTools()\FontOnglet=LoadFont(#PB_Any,"Time new roman",12,#PB_Font_Bold|#PB_Font_HighQuality)
            myTools()\OngletTexteColor=$FF0000
            myTools()\OngletBoxOverBackColor=$FFFFE0
            myTools()\OngletBoxOverFrontColor=$00FFFF
            myTools()\FontGroupeTitle=LoadFont(#PB_Any,"Time new roman",10,#PB_Font_HighQuality)
            myTools()\FrontColorGroupeTitle=$FF0000
            myTools()\BackColorGroupeTitle=$F6D8B9
            myTools()\ColorLineGroupe=$FF901E
      EndProcedure
Le code de la procédure Init

Code : Tout sélectionner

;Cette procedure va créer le menu onglet en mémoire
       Procedure Init(Id,IdWindow,X,Y,Width=-1,Heidht=100)
             Protected W
             ;Si #PB_Any incrémente automatiquement l'id
             If Id=#PB_Any
                  AddMapElement(myTools(),Str(MapSize(myTools())+1))
            Else
                  ;Vérifie si un tool bar n'existe pas déjà avec cette id
                  If  FindMapElement(myTools(),Str(Id))<>0
                        MessageRequester("Error ToolsBar Init","This Id already exist...")
                        ProcedureReturn 0
                  EndIf
                  AddMapElement(myTools(),Str(Id))
            EndIf
            ;Charge les valeur couleur font ect... par défaut
            DefaultParameters()
            myTools()\X=X
            myTools()\Y=Y
            myTools()\H=Heidht
            myTools()\IdWindow=IdWindow
            UseGadgetList(WindowID(myTools()\IdWindow))
            ;Si l'utilisateur du module renseigne un largeur à -1 on prend toute la largeur de la fenêtre
            If Width<>-1
                  W=Width
            Else
                  W=WindowWidth(IdWindow,#PB_Window_InnerCoordinate)
            EndIf
            myTools()\W=W
            myTools()\IdCanvas=CanvasGadget(#PB_Any,X,Y,W,Heidht,#PB_Canvas_Keyboard)
            myTools()\ProcedureEventOngletCallBack=-1
            ProcedureReturn Val(MapKey(myTools())) ;Retourne l'id du menu onglet
      EndProcedure
La partie 3 ICI

http://www.purebasic.fr/french/viewtopi ... 21&t=14732