SPH Forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Pokémon EV06 : où acheter le Bundle Lot 6 Boosters Mascarade ...
Voir le deal

sliders de gally

Aller en bas

sliders de gally Empty sliders de gally

Message par Admin Jeu 15 Mar - 16:37

Code:
; +======================================================+
; |                                                      |
; +------------------------------------------------------+
; | COPYRIGHT(C)2016-2018, ALL RIGHT RESERVED KOAKDESIGN |
; +--------------+---------------------------------------+
; | Program type | PUREBASIC 5.62 (MODULE)              |
; +--------------+---------------------------------------+
; | VER & REV    | 0.0.1                                |
; +--------------+---------------------------------------+
; | Program name |                                      |
; +======================================================+

; +======================================================+
; | Original Version: 0.0.1                              |
; +--------------+---------------------------------------+
; | Created by  | GallyHomeCorp                        |
; | Graphix by  | GallyHomeCorp                        |
; +--------------+---------------------------------------+
; | Comments:    |                                      |
; +--------------+                                      |
; |                                                      |
; |                                                      |
; |                                                      |
; +======================================================+

; +======================================================+
; | Système d'Exploitation                              |
; +--------------+---------------------------------------+
; | Window      | Oui                                  |
; | Linux        | Oui                                  |
; | MacOS        | Oui                                  |
; +======================================================+

; ****************************************************************************
; ****************************************************************************
; ****************************************************************************
;- INITIALISATION DES DIRECTIVES DU COMPILEUR.

DisableASM
EnableExplicit

; ****************************************************************************
; ****************************************************************************
; ****************************************************************************

#PB_Event_CustumGadget_Slider  = #PB_Event_FirstCustomValue + 100
;
#PB_Gadget_BackStyle            = 3
#PB_Gadget_BackRegular          = 4
;
#CustumGadget_Color_Default    = -1
#CustumGadget_Color_Blue        = -2
#CustumGadget_Color_White      = $FFFFFF
#CustumGadget_Color_Gray        = $000000
#CustumGadget_Color_Red        = $0000FF
#CustumGadget_Color_Green      = $00FF00
#CustumGadget_Color_Mallow      = $FF0000
#CustumGadget_Color_Cyan        = $FFFF00
#CustumGadget_Color_Purple      = $FF00FF
#CustumGadget_Color_Yellow      = $00FFFF
;
#CustumGadget_Zoom_x1          = 1
#CustumGadget_Zoom_x2          = 2
#CustumGadget_Zoom_x4          = 4
#CustumGadget_Zoom_x8          = 8
#CustumGadget_Zoom_x16          = 16
#CustumGadget_Zoom_x32          = 32
;
#CustumGadget_Range_Default    = 8

; ****************************************************************************
; ****************************************************************************
; ****************************************************************************

DeclareModule CustumSlider
  ;
  ;- DECLARATION PUBLIQUES DU MODULE.
  ;
  CompilerIf Defined(MinusOne, #PB_Constant) = #False
    #MinusOne = -1
  CompilerEndIf
  CompilerIf Defined(PB_Event_CustumGadget_Slider, #PB_Constant) = #False
    #PB_Event_CustumGadget_Slider  = #PB_Event_FirstCustomValue + 100
  CompilerEndIf
  ;
  CompilerIf Defined(PB_Gadget_BackStyle, #PB_Constant) = #False
    #PB_Gadget_BackStyle            = 3
  CompilerEndIf
  CompilerIf Defined(PB_Gadget_BackRegular, #PB_Constant) = #False
    #PB_Gadget_BackRegular          = 4
  CompilerEndIf
  ;
  CompilerIf Defined(CustumGadget_Color_Default, #PB_Constant) = #False
    #CustumGadget_Color_Default    = -1
  CompilerEndIf
  CompilerIf Defined(CustumGadget_Color_Blue, #PB_Constant) = #False
    #CustumGadget_Color_Blue        = -2
  CompilerEndIf
  CompilerIf Defined(CustumGadget_Color_White, #PB_Constant) = #False
    #CustumGadget_Color_White      = $FFFFFF
  CompilerEndIf
  CompilerIf Defined(CustumGadget_Color_Gray, #PB_Constant) = #False
    #CustumGadget_Color_Gray        = $000000
  CompilerEndIf
  CompilerIf Defined(CustumGadget_Color_Red, #PB_Constant) = #False
    #CustumGadget_Color_Red        = $0000FF
  CompilerEndIf
  CompilerIf Defined(CustumGadget_Color_Green, #PB_Constant) = #False
    #CustumGadget_Color_Green      = $00FF00
  CompilerEndIf
  CompilerIf Defined(CustumGadget_Color_Mallow, #PB_Constant) = #False
    #CustumGadget_Color_Mallow      = $FF0000
  CompilerEndIf
  CompilerIf Defined(CustumGadget_Color_Cyan, #PB_Constant) = #False
    #CustumGadget_Color_Cyan        = $FFFF00
  CompilerEndIf
  CompilerIf Defined(CustumGadget_Color_Purple, #PB_Constant) = #False
    #CustumGadget_Color_Purple      = $FF00FF
  CompilerEndIf
  CompilerIf Defined(CustumGadget_Color_Yellow, #PB_Constant) = #False
    #CustumGadget_Color_Yellow      = $00FFFF
  CompilerEndIf
  ;
  CompilerIf Defined(CustumGadget_Zoom_x1, #PB_Constant) = #False
    #CustumGadget_Zoom_x1          = 1
  CompilerEndIf
  CompilerIf Defined(CustumGadget_Zoom_x2, #PB_Constant) = #False
    #CustumGadget_Zoom_x2          = 2
  CompilerEndIf
  CompilerIf Defined(CustumGadget_Zoom_x4, #PB_Constant) = #False
    #CustumGadget_Zoom_x4          = 4
  CompilerEndIf
  CompilerIf Defined(CustumGadget_Zoom_x8, #PB_Constant) = #False
    #CustumGadget_Zoom_x8          = 8
  CompilerEndIf
  CompilerIf Defined(CustumGadget_Zoom_x16, #PB_Constant) = #False
    #CustumGadget_Zoom_x16          = 16
  CompilerEndIf
  CompilerIf Defined(CustumGadget_Zoom_x32, #PB_Constant) = #False
    #CustumGadget_Zoom_x32          = 32
  CompilerEndIf
  ;
  CompilerIf Defined(CustumGadget_Range_Default, #PB_Constant) = #False
    #CustumGadget_Range_Default    = 8
  CompilerEndIf
  ;
  Declare _CreateGadget    (gadget.i, x.l, y.l, w.l, h.l, value.l=0, min.l=0, max.l=100)
  Declare _GetGadgetState  (gadget.i)
  Declare _SetGadgetState  (gadget.i, color.i)
  Declare _GetGadgetRange  (gadget.i)
  Declare _SetGadgetRange  (gadget.i, range.i)
  Declare _GetGadgetColor  (gadget.l, colortype.l)
  Declare _SetGadgetColor  (gadget.l, colortype.l, color.i)
  Declare _GetGadgetSelect  (gadget.i)
  Declare _SetGadgetSelect  (gadget.i, value.b = #MinusOne)
  Declare _GetGadgetData    (gadget.i)
  Declare _SetGadgetData    (gadget.i, value.l)
  Declare _DisableGadget    (gadget.i, value.b)
  Declare _HideGadget      (gadget.i, value.b)
  Declare _FreeGadget      (gadget.i)
 
EndDeclareModule
;
;
;
Module CustumSlider
  EnableExplicit
  ;
  ;- DECLARATION PRIVES DU MODULE.
  ;
  Procedure GetWindowBackgroundColor(hwnd.i = 0)
    ;
    ; http://www.purebasic.fr/english/viewtopic.php?p=472982#p472982
    ;
    CompilerSelect #PB_Compiler_OS
      CompilerCase #PB_OS_Windows
        ;
        Protected color = GetSysColor_(#COLOR_WINDOW)
        If color = $FFFFFF Or color=0
          color = GetSysColor_(#COLOR_BTNFACE)
        EndIf
        ProcedureReturn color
        ;
      CompilerCase #PB_OS_Linux
        ;
        Protected *style.GtkStyle, *color.GdkColor
        *style = gtk_widget_get_style_(hwnd)
        *color = *style\bg[0]
        ProcedureReturn RGB(*color\red >> 8, *color\green >> 8, *color\blue >> 8)
        ;
      CompilerCase #PB_OS_MacOS
        ;
        Protected.i color, Rect.NSRect, Image
        Protected.i NSColor = CocoaMessage(#Null, #Null, "NSColor windowBackgroundColor")
        If NSColor
          Rect\size\width = 1
          Rect\size\height = 1
          Image = CreateImage(#PB_Any, 1, 1)
          StartDrawing(ImageOutput(Image))
          CocoaMessage(#Null, NSColor, "drawSwatchInRect:@", @Rect)
          color = Point(0, 0)
          StopDrawing()
          FreeImage(Image)
          ProcedureReturn color
        Else
          ProcedureReturn -1
        EndIf
        ;
    CompilerEndSelect
  EndProcedure
  Structure _STRUTURE_CUSTUMSLIDER
    window.i
    gadget.i
    gadgetid.i
    x.l
    y.l
    w.l
    h.l
    hb.i
    pas.d
    min.l
    max.l
    index.i
    state.i
    value.i
    range.i
    wheelzoom.i
    forecolor.i
    backcolor.i
    backstyle.i
    ibacksave.i
    hide.b
    disable.b
    actived.b
    reverse.b
    selected.b
    multiselect.b
    firstchange.b
    iChannel.i
    iimage_regular.i
    iimage_button.i
  EndStructure
  Global NewMap _CREATE_CUSTUMSLIDER._STRUTURE_CUSTUMSLIDER()
  ;
  #CustumGadget_Slider_C01      = $684828
  #CustumGadget_Slider_C02      = $E9D6C2
  #CustumGadget_Slider_C03      = $D5B08C
  #CustumGadget_Slider_C04      = $F9F3ED
  #CustumGadget_Slider_C05      = $B88957
  #CustumGadget_Slider_C06      = $DCBD9E
  #CustumGadget_Slider_C07      = $E6D0B9
  #CustumGadget_Slider_C08      = $E9D6C2
  #CustumGadget_Slider_C09      = $FFFFFF
  #CustumGadget_Slider_C10      = $F4E6D6
  #CustumGadget_Slider_C11      = $DBAB77
  ;
  #CustumGadget_Zoom_x1        = 1
  #CustumGadget_Zoom_x2        = 2
  #CustumGadget_Zoom_x4        = 4
  #CustumGadget_Zoom_x8        = 8
  #CustumGadget_Zoom_x16        = 16
  #CustumGadget_Zoom_x32        = 32
  ;
  #PB_Gadget_BackDegrad        = 3
  ;
  ;-
  ;
  Procedure.i ColorSubstitute(color.i, finalcolor.i)
  ;
  ; ROUTINE DE CHANGEMENT DES TEINTES DE COULEUR 
  ;
    Protected.f lTempsA, lTempsB
    Protected.w lColorR, lColorG, lColorB, lShadeB, lShadeN
 
    lColorR = Red  (color)
    lColorG = Green (color)
    lColorB = Blue  (color)
    If lColorB >= lColorG And lColorB >= lColorR And lColorB > 0
      lTempsA = 255 / lColorB
      lShadeN = 255 - lColorB
      lColorB = 255
      lColorG = lTempsA * lColorG
      lColorR = lTempsA * lColorR
    ElseIf lColorG >= lColorB And lColorG >= lColorR And lColorG > 0
      lTempsA = 255 / lColorG
      lShadeN = 255 - lColorG
      lColorB = lTempsA * lColorB
      lColorG = 255
      lColorR = lTempsA * lColorR
    ElseIf lColorR >= lColorG And lColorR >= lColorB And lColorR > 0
      lTempsA = 255 / lColorR
      lShadeN = 255 - lColorR
      lColorB = lTempsA * lColorB
      lColorG = lTempsA * lColorG
      lColorR = 255
    Else
      lShadeN = 255
      lColorB = 255
      lColorG = 255
      lColorR = 255
    EndIf
    If lColorB < lColorG And lColorB < lColorR
      lShadeB = 255 - lColorB
    ElseIf lColorG < lColorB And lColorG < lColorR
      lShadeB = 255 - lColorG
    ElseIf lColorR < lColorB And lColorR < lColorG
      lShadeB = 255 - lColorR
    Else
      lShadeB = 255
    EndIf 
    lColorR = Red  (finalcolor)
    lColorG = Green (finalcolor)
    lColorB = Blue  (finalcolor)
    If lColorB >= lColorG And lColorB >= lColorR And lColorB > 0
      lTempsA = 255 / lColorB
      lColorB = 255
      lColorG = lTempsA * lColorG
      lColorR = lTempsA * lColorR
    ElseIf lColorG >= lColorB And lColorG >= lColorR And lColorG > 0
      lTempsA = 255 / lColorG
      lColorB = lTempsA * lColorB
      lColorG = 255
      lColorR = lTempsA * lColorR
    ElseIf lColorR >= lColorG And lColorR >= lColorB And lColorR > 0
      lTempsA = 255 / lColorR
      lColorB = lTempsA * lColorB
      lColorG = lTempsA * lColorG
      lColorR = 255
    EndIf
    If lColorB < lColorG And lColorB < lColorR
      lTempsA = 1 - lColorB / 255
      lColorG = (lColorG - lColorB) / lTempsA
      lColorR = (lColorR - lColorB) / lTempsA
      lColorB = 0
    ElseIf lColorG < lColorB And lColorG < lColorR
      lTempsA = 1 - lColorG / 255
      lColorB = (lColorB - lColorG) / lTempsA
      lColorR = (lColorR - lColorG) / lTempsA
      lColorG = 0
    ElseIf lColorR < lColorB And lColorR < lColorG
      lTempsA = 1 - lColorR / 255
      lColorB = (lColorB - lColorR) / lTempsA
      lColorG = (lColorG - lColorR) / lTempsA
      lColorR = 0
    EndIf
    lTempsA = 1 - lShadeB / 255
    lTempsB = (255 - lShadeN) / 255
    lColorR = (lColorR + (255 - lColorR) * lTempsA) * lTempsB
    If lColorR < 0
      lColorR = 0
    ElseIf lColorR > 255
      lColorR = 255
    EndIf
    lColorG = (lColorG + (255 - lColorG) * lTempsA) * lTempsB
    If lColorG < 0
      lColorG = 0
    ElseIf lColorG > 255
      lColorG = 255
    EndIf
    lColorB = (lColorB + (255 - lColorB) * lTempsA) * lTempsB
    If lColorB < 0
      lColorB = 0
    ElseIf lColorB > 255
      lColorB = 255
    EndIf
    ;
    ProcedureReturn lColorR | lColorG << 8 | lColorB << 16
 
  EndProcedure
 
  Procedure.l ColorBlending(Color1.l, Color2.l, Blend.f)
    ;
    ;
    ;
    Protected.i iRed, iGreen, iBlue, iTmpR, iTmpG, iTmpB
    ;
    iRed    = Color1 & $FF
    iGreen  = Color1 >> 8 & $FF
    iBlue  = Color1 >> 16
    iTmpR  = Color2 & $FF
    iTmpG  = Color2 >> 8 & $FF
    iTmpB  = Color2 >> 16
    iRed    = iRed  * Blend + iTmpR * (1 - Blend)
    iGreen  = iGreen * Blend + iTmpG * (1 - Blend)
    iBlue  = iBlue  * Blend + iTmpB * (1 - Blend)
    ;
    ProcedureReturn (iRed | iGreen <<8 | iBlue << 16)
 
  EndProcedure
  ;
  ;-
  ;
  Procedure CUSTUMGadget_DrawRegulatory(gadget.i)
    ;
    ; ROUTINE DE TRACAGE DE LA REGLE DU SLIDER.
    ;
    Protected.i j, w, h, tmpa, tmpb, tmpc, dist, state, decal
    Protected.f pasa, pasb, pasc, mula, mulb, mulc
    Protected Dim Couleur(3)
    ;
    Define.i iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
    If iMap > #Null
      If IsImage(_CREATE_CUSTUMSLIDER()\iimage_regular)
        FreeImage(_CREATE_CUSTUMSLIDER()\iimage_regular)
      EndIf
      _CREATE_CUSTUMSLIDER()\iimage_regular = CreateImage(#PB_Any, _CREATE_CUSTUMSLIDER()\w, _CREATE_CUSTUMSLIDER()\h)
      If IsImage(_CREATE_CUSTUMSLIDER()\iimage_regular)
        If StartDrawing(ImageOutput(_CREATE_CUSTUMSLIDER()\iimage_regular))
          If _CREATE_CUSTUMSLIDER()\backstyle = #CustumGadget_Color_Blue
            Couleur(0) = #CustumGadget_Slider_C01
            Couleur(1) = #CustumGadget_Slider_C02
            Couleur(2) = #CustumGadget_Slider_C03
            If _CREATE_CUSTUMSLIDER()\backcolor = #CustumGadget_Color_Blue
              Couleur(3) = ColorSubstitute(#CustumGadget_Slider_C04, _CREATE_CUSTUMSLIDER()\backstyle)
            Else
              Couleur(3) = _CREATE_CUSTUMSLIDER()\backcolor
            EndIf
          Else
            Couleur(0) = ColorSubstitute(#CustumGadget_Slider_C01,  _CREATE_CUSTUMSLIDER()\backstyle)
            Couleur(1) = ColorSubstitute(#CustumGadget_Slider_C02,  _CREATE_CUSTUMSLIDER()\backstyle)
            Couleur(2) = ColorSubstitute(#CustumGadget_Slider_C03,  _CREATE_CUSTUMSLIDER()\backstyle)
            If _CREATE_CUSTUMSLIDER()\backcolor = #CustumGadget_Color_Blue
              Couleur(3) = ColorSubstitute(#CustumGadget_Slider_C04, _CREATE_CUSTUMSLIDER()\backstyle)
            Else
              Couleur(3) = _CREATE_CUSTUMSLIDER()\backcolor
            EndIf
          EndIf
          w    = _CREATE_CUSTUMSLIDER()\w
          h    = _CREATE_CUSTUMSLIDER()\h
          tmpa  = w / 2
          tmpc  = ((w + (w / 10)) / 2) - 1
          If _CREATE_CUSTUMSLIDER()\selected
            decal = 1
            Box(0, 0, w, h, $20088)
          EndIf
          Box(0 + decal, 0 + decal, w - (decal * 2), h - (decal * 2), Couleur(3))
          Box(tmpa - 2, tmpc, 4, h - (tmpc * 2),    Couleur(0))
          LineXY(tmpa - 2, tmpc, tmpa - 2, h - tmpc, Couleur(2))
          LineXY(tmpa - 2, tmpc, tmpa + 1, tmpc,    Couleur(2))
          LineXY(tmpa + 2, tmpc, tmpa + 2, h - tmpc, Couleur(1))
          LineXY(tmpa - 1, h - tmpc, tmpa+2, h-tmpc, Couleur(1))
            ;
          tmpb = _CREATE_CUSTUMSLIDER()\max - _CREATE_CUSTUMSLIDER()\min
          If tmpb > 0
            pasa = (h - (tmpc * 2)) / tmpb
            Couleur(3) = ColorBlending(Couleur(2), Couleur(0), 0.6)
            For j=0 To h - (tmpc * 2)
              LineXY(decal, tmpc + j + 1, tmpa - 4, tmpc + j + 1,          Couleur(3))
              LineXY(tmpa + 4, tmpc + j + 1, w - (decal + 1), tmpc + j + 1, Couleur(3))
              LineXY(decal, tmpc + j + 2, tmpa - 4, tmpc + j + 2,          Couleur(1))
              LineXY(tmpa + 4, tmpc + j + 2, w - (decal + 1), tmpc + j + 2, Couleur(1))
              j + (pasa * 10)
            Next j
          EndIf
          StopDrawing()
        EndIf
      EndIf
    EndIf
    ;
    FreeArray(Couleur())
 
  EndProcedure

  Procedure CUSTUMGadget_DrawButton(gadget.i)
    ;
    ; ROUTINE DE TRACAGE DU BOUTON DU SLIDER.
    ;
    ;
    Protected.i j, w, tmpa, tmpb, tmpc
    Protected.f pasa, pasb, pasc, mula, mulb, mulc
    Protected Dim Couleur(7)
    ;
    Define.i iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
    If iMap > #Null
      If IsImage(_CREATE_CUSTUMSLIDER()\iimage_button)
        FreeImage(_CREATE_CUSTUMSLIDER()\iimage_button)
      EndIf
      w    = _CREATE_CUSTUMSLIDER()\w
      tmpa  =  w / 10
      _CREATE_CUSTUMSLIDER()\hb = w + tmpa
      _CREATE_CUSTUMSLIDER()\iimage_button = CreateImage(#PB_Any, _CREATE_CUSTUMSLIDER()\w, _CREATE_CUSTUMSLIDER()\w + tmpa)
      If IsImage(_CREATE_CUSTUMSLIDER()\iimage_button)
        If StartDrawing(ImageOutput(_CREATE_CUSTUMSLIDER()\iimage_button))
          If _CREATE_CUSTUMSLIDER()\forecolor = #CustumGadget_Color_Blue
            Couleur(0) = #CustumGadget_Slider_C01
            Couleur(1) = #CustumGadget_Slider_C02
            Couleur(2) = #CustumGadget_Slider_C03
            ;Couleur(3) = #CustumGadget_Slider_C04
            Couleur(4) = #CustumGadget_Slider_C05
            Couleur(5) = #CustumGadget_Slider_C06
            Couleur(6) = #CustumGadget_Slider_C07
            Couleur(7) = #CustumGadget_Slider_C08
          Else
            Couleur(0) = ColorSubstitute(#CustumGadget_Slider_C01, _CREATE_CUSTUMSLIDER()\forecolor)
            Couleur(1) = ColorSubstitute(#CustumGadget_Slider_C02, _CREATE_CUSTUMSLIDER()\forecolor)
            Couleur(2) = ColorSubstitute(#CustumGadget_Slider_C03, _CREATE_CUSTUMSLIDER()\forecolor)
            ;Couleur(3) = ColorSubstitute(#CustumGadget_Slider_C04, _CREATE_CUSTUMSLIDER()\forecolor)
            Couleur(4) = ColorSubstitute(#CustumGadget_Slider_C05, _CREATE_CUSTUMSLIDER()\forecolor)
            Couleur(5) = ColorSubstitute(#CustumGadget_Slider_C06, _CREATE_CUSTUMSLIDER()\forecolor)
            Couleur(6) = ColorSubstitute(#CustumGadget_Slider_C07, _CREATE_CUSTUMSLIDER()\forecolor)
            Couleur(7) = ColorSubstitute(#CustumGadget_Slider_C08, _CREATE_CUSTUMSLIDER()\forecolor)
          EndIf
          DrawingMode(#PB_2DDrawing_Outlined)
          Box(0, 0, w,    w + tmpa,    Couleur(0))
          Box(1, 1, w - 2, w + tmpa - 2, Couleur(6))
          DrawingMode(#PB_2DDrawing_Transparent)
          Box(2, 2, w - 4, w + tmpa - 4, Couleur(2))
          DrawingMode(#PB_2DDrawing_Outlined)
          tmpb = (_CREATE_CUSTUMSLIDER()\w / 6) - 1
          pasa = (Red(Couleur(0))  - Red(Couleur(4)))  / tmpb
          mula = Red(Couleur(0))
          pasb = (Green(Couleur(0)) - Green(Couleur(4))) / tmpb
          mulb = Green(Couleur(0))
          pasc = (Blue(Couleur(0))  - Blue(Couleur(4)))  / tmpb
          mulc = Blue(Couleur(0))
          For j = 1 To tmpb Step 1
            mula = mula - pasa
            mulb = mulb - pasb
            mulc = mulc - pasc
            LineXY(1, j, w - 2, j, RGB(mula, mulb, mulc))
            LineXY(1, (w + tmpa - 1) - j, w - 2, (w + tmpa - 1) - j, RGB(mula, mulb, mulc))
          Next j
          LineXY(1, tmpb + 1, w - 2, tmpb + 1, Couleur(5))
          LineXY(1, (w + tmpa) - tmpb - 2, w - 2, (w + tmpa) - tmpb - 2, Couleur(5))
          tmpc = ((w+tmpa)/2) - (tmpb * 2)
          mula = Red(Couleur(1))
          mulb = Green(Couleur(1))
          mulc = Blue(Couleur(1))
          pasa = (Red(Couleur(2))  - Red(Couleur(1)))  / tmpc
          pasb = (Green(Couleur(2)) - Green(Couleur(1))) / tmpc
          pasc = (Blue(Couleur(2))  - Blue(Couleur(1)))  / tmpc
          For j = 1 To tmpc Step 1
            mula = mula + pasa
            mulb = mulb + pasb
            mulc = mulc + pasc
            LineXY(3, tmpb + 1 + j, w - 4, tmpb + 1 + j, RGB(mula, mulb, mulc))
            LineXY(3, (w + tmpa) - tmpb - 2 - j, w - 4, (w + tmpa) - tmpb - 2 - j, RGB(mula, mulb, mulc))
          Next j
          LineXY(1, ((w + tmpa) / 2) + 1, w - 2, ((w + tmpa) / 2) + 1, Couleur(1))
          LineXY(1, ((w + tmpa) / 2) - 0, w - 2, ((w + tmpa) / 2) - 0, Couleur(0))
          LineXY(1, ((w + tmpa) / 2) - 1, w - 2, ((w + tmpa) / 2) - 1, Couleur(1))
          StopDrawing()
        EndIf
      EndIf
    EndIf
    ;
    FreeArray(Couleur())
 
  EndProcedure

  Procedure CUSTUMGadget_DrawSlider(gadget.i)
    ;
    ; ROUTINE DE TRACAGE DU DMX SILDER COMPLET.
    ;
    Define.i x, y, j, w, h, col1, col2, tmpa, tmpb
    ;
    Define.i iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
    If iMap > #Null
      If _CREATE_CUSTUMSLIDER()\actived = #True And IsGadget(_CREATE_CUSTUMSLIDER()\gadget)
        If StartDrawing(CanvasOutput(_CREATE_CUSTUMSLIDER()\gadget))
          DrawingMode(#PB_2DDrawing_Default)
          w    = _CREATE_CUSTUMSLIDER()\w
          h    = _CREATE_CUSTUMSLIDER()\h
          If IsImage(_CREATE_CUSTUMSLIDER()\iimage_regular)
            DrawImage(ImageID(_CREATE_CUSTUMSLIDER()\iimage_regular), 0, 0)
            tmpa = w / 2
            tmpb = ((w + (w / 10)) / 2) - 1
            If h - (tmpb * 2) - _CREATE_CUSTUMSLIDER()\state - 3 > tmpb And _CREATE_CUSTUMSLIDER()\disable = 0
            Box(tmpa - 1, _CREATE_CUSTUMSLIDER()\state + tmpb, 3, h - (tmpb * 2) - _CREATE_CUSTUMSLIDER()\state, $0000a8)
            EndIf
          EndIf
          If IsImage(_CREATE_CUSTUMSLIDER()\iimage_button)
            DrawImage(ImageID(_CREATE_CUSTUMSLIDER()\iimage_button), 0, _CREATE_CUSTUMSLIDER()\state)
          EndIf
          If _CREATE_CUSTUMSLIDER()\disable = #True
            DrawingMode(#PB_2DDrawing_AlphaBlend)
            Box(0, 0, w, h, RGBA(Red(_CREATE_CUSTUMSLIDER()\backcolor), Green(_CREATE_CUSTUMSLIDER()\backcolor), Blue(_CREATE_CUSTUMSLIDER()\backcolor), 180))
          EndIf
          StopDrawing()
        EndIf
      EndIf
    EndIf
 
  EndProcedure 
  ;
  ;-
  ;
  Procedure _OnEvent_SCANBORDERS(lvalue.l, lmin.l, lmax.l)
    ;
    ;
    ;
    If lvalue < lmin
      lvalue = lmin
    Else
      If lvalue > lmax
        lvalue = lmax
      EndIf
    EndIf
    ;
    ProcedureReturn lvalue
 
  EndProcedure
  ;
  Procedure _OnEvent_CUSTUMSLIDERS()
    ;
    ;
    ;
    Protected.i event  = EventType  ()
    Protected.i gadget = EventGadget()
    Protected.i iMap, _SAV_MOUSE_Y, _SAV_VALUE_S
    Static.b _SAV_MOUSE_CLIC
    ;
    ;
    If GetGadgetAttribute(gadget, #PB_Canvas_Modifiers) = #PB_Canvas_Alt
      ;
     
      iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
      If iMap <> #Null
        If _CREATE_CUSTUMSLIDER()\disable = #False
          If event = #PB_EventType_LeftButtonDown And _CREATE_CUSTUMSLIDER()\multiselect = #True
            If _CREATE_CUSTUMSLIDER()\disable = #False
              _SetGadgetSelect(_CREATE_CUSTUMSLIDER()\gadget)
            EndIf
          EndIf
        EndIf
        ;
        ProcedureReturn
      EndIf
      ;
    Else
      ;
      If GetGadgetAttribute(gadget, #PB_Canvas_WheelDelta)
        iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
        If iMap <> #Null
          If _CREATE_CUSTUMSLIDER()\disable = #False
            _SAV_VALUE_S = _CREATE_CUSTUMSLIDER()\value + (GetGadgetAttribute(gadget, #PB_Canvas_WheelDelta) * _CREATE_CUSTUMSLIDER()\WheelZoom)
            _SAV_VALUE_S = _OnEvent_SCANBORDERS(_SAV_VALUE_S, _CREATE_CUSTUMSLIDER()\min, _CREATE_CUSTUMSLIDER()\max)
            If _CREATE_CUSTUMSLIDER()\value <> _SAV_VALUE_S Or _CREATE_CUSTUMSLIDER()\firstchange = #False
              _CREATE_CUSTUMSLIDER()\value = _SAV_VALUE_S
              _CREATE_CUSTUMSLIDER()\state = (_CREATE_CUSTUMSLIDER()\min - _CREATE_CUSTUMSLIDER()\value + (_CREATE_CUSTUMSLIDER()\max - _CREATE_CUSTUMSLIDER()\min)) / _CREATE_CUSTUMSLIDER()\pas
              _CREATE_CUSTUMSLIDER()\firstchange = #True
              ;
              PostEvent(#PB_Event_CustumGadget_Slider, _CREATE_CUSTUMSLIDER()\window, _CREATE_CUSTUMSLIDER()\gadget, #PB_EventType_LeftButtonDown)
              CUSTUMGadget_DrawSlider(gadget)
            EndIf
          EndIf
          ;
          ProcedureReturn
        EndIf
      EndIf
      ;
      If event = #PB_EventType_LeftButtonDown Or (event = #PB_EventType_MouseMove And GetGadgetAttribute(gadget, #PB_Canvas_Buttons) & #PB_Canvas_LeftButton)
        If _SAV_MOUSE_CLIC = #False
          _SAV_MOUSE_Y = GetGadgetAttribute(gadget, #PB_Canvas_MouseY)
          iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
          If _CREATE_CUSTUMSLIDER()\disable = #False
            If iMap <> #Null
              If _SAV_MOUSE_Y >= _CREATE_CUSTUMSLIDER()\state And _SAV_MOUSE_Y <= _CREATE_CUSTUMSLIDER()\state + _CREATE_CUSTUMSLIDER()\hb
                _SAV_MOUSE_CLIC = 1
              Else
                _SAV_MOUSE_CLIC = 2
              EndIf
            EndIf
          EndIf
        EndIf
        ;
        iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
        If iMap <> #Null
          If _SAV_MOUSE_CLIC = 1
            _SAV_MOUSE_Y = GetGadgetAttribute(gadget, #PB_Canvas_MouseY) - (_CREATE_CUSTUMSLIDER()\hb / 2)
            _SAV_MOUSE_Y = _OnEvent_SCANBORDERS(_SAV_MOUSE_Y, 0, _CREATE_CUSTUMSLIDER()\h - _CREATE_CUSTUMSLIDER()\hb)
            _SAV_VALUE_S = _CREATE_CUSTUMSLIDER()\min + (_CREATE_CUSTUMSLIDER()\max - _CREATE_CUSTUMSLIDER()\min) - (_SAV_MOUSE_Y * _CREATE_CUSTUMSLIDER()\pas)
            If _CREATE_CUSTUMSLIDER()\value <> _SAV_VALUE_S Or _CREATE_CUSTUMSLIDER()\firstchange = #False
              _CREATE_CUSTUMSLIDER()\value = _SAV_VALUE_S
              _CREATE_CUSTUMSLIDER()\state = _SAV_MOUSE_Y
              _CREATE_CUSTUMSLIDER()\firstchange = #True
              ;
              PostEvent(#PB_Event_CustumGadget_Slider, _CREATE_CUSTUMSLIDER()\window, _CREATE_CUSTUMSLIDER()\gadget, #PB_EventType_LeftButtonDown)
              CUSTUMGadget_DrawSlider(gadget)
            EndIf
            ;
            ProcedureReturn
          EndIf
          If _SAV_MOUSE_CLIC = 2
            _SAV_MOUSE_Y = GetGadgetAttribute(gadget, #PB_Canvas_MouseY)
            iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
            If iMap <> #Null
              If _SAV_MOUSE_Y < _CREATE_CUSTUMSLIDER()\state
                _SAV_VALUE_S = _CREATE_CUSTUMSLIDER()\value + _CREATE_CUSTUMSLIDER()\range
              EndIf
              If _SAV_MOUSE_Y > _CREATE_CUSTUMSLIDER()\state + _CREATE_CUSTUMSLIDER()\hb
                _SAV_VALUE_S = _CREATE_CUSTUMSLIDER()\value - _CREATE_CUSTUMSLIDER()\range
              EndIf
              _SAV_VALUE_S = _OnEvent_SCANBORDERS(_SAV_VALUE_S, _CREATE_CUSTUMSLIDER()\min, _CREATE_CUSTUMSLIDER()\max)
              If _CREATE_CUSTUMSLIDER()\value <> _SAV_VALUE_S Or _CREATE_CUSTUMSLIDER()\firstchange = #False
                _CREATE_CUSTUMSLIDER()\value = _SAV_VALUE_S
                _CREATE_CUSTUMSLIDER()\state = (_CREATE_CUSTUMSLIDER()\min - _CREATE_CUSTUMSLIDER()\value + (_CREATE_CUSTUMSLIDER()\max - _CREATE_CUSTUMSLIDER()\min)) / _CREATE_CUSTUMSLIDER()\pas
                _CREATE_CUSTUMSLIDER()\firstchange = #True
                ;
                PostEvent(#PB_Event_CustumGadget_Slider, _CREATE_CUSTUMSLIDER()\window, _CREATE_CUSTUMSLIDER()\gadget, #PB_EventType_LeftButtonDown)
                CUSTUMGadget_DrawSlider(gadget)
              EndIf
              ;
              _SAV_MOUSE_CLIC = 3
            EndIf
          EndIf
        EndIf
      Else
        If _SAV_MOUSE_CLIC <> #False
          _SAV_MOUSE_CLIC = #False
        EndIf
      EndIf
      If event = #PB_EventType_RightButtonDown
        PostEvent(#PB_Event_CustumGadget_Slider, _CREATE_CUSTUMSLIDER()\window, _CREATE_CUSTUMSLIDER()\gadget, #PB_EventType_RightButtonDown)     
      EndIf
      ;
    EndIf
    ;
  EndProcedure
  ;
  ;-
  ;
  Procedure _CreateGadget(gadget.i, x.l, y.l, w.l, h.l, value.l=0, min.l=0, max.l=100)
    ;
    ;
    ;
    Protected.i ivalue
    Protected.l ltemps
    ;
    ;
    ;
    If gadget = #PB_Any
      gadget = CanvasGadget(#PB_Any, x, y, w, h, #PB_Container_BorderLess | #PB_Canvas_Keyboard)
      ivalue = gadget
    Else
      ivalue = CanvasGadget(gadget,  x, y, w, h, #PB_Container_BorderLess | #PB_Canvas_Keyboard)
    EndIf
    AddMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget), #PB_Map_ElementCheck)
    ;
    ;
    ;
    If w < 15 : w = 15 : EndIf
    If h < 30 : h = 30 : EndIf
    ;
    ltemps = w + (w / 10)
    ;
    _CREATE_CUSTUMSLIDER()\window      = GetActiveWindow()
    _CREATE_CUSTUMSLIDER()\gadget      = gadget
    _CREATE_CUSTUMSLIDER()\gadgetid    = ivalue
    _CREATE_CUSTUMSLIDER()\actived      = #True
    _CREATE_CUSTUMSLIDER()\x            = x
    _CREATE_CUSTUMSLIDER()\y            = y
    _CREATE_CUSTUMSLIDER()\w            = w
    _CREATE_CUSTUMSLIDER()\h            = h
    _CREATE_CUSTUMSLIDER()\pas          = (max - min) / (h - ltemps)
    _CREATE_CUSTUMSLIDER()\min          = min
    _CREATE_CUSTUMSLIDER()\max          = max
    _CREATE_CUSTUMSLIDER()\range        = #CustumGadget_Range_Default
    _CREATE_CUSTUMSLIDER()\state        = (-value + (_CREATE_CUSTUMSLIDER()\max - _CREATE_CUSTUMSLIDER()\min)) / _CREATE_CUSTUMSLIDER()\pas
    _CREATE_CUSTUMSLIDER()\wheelzoom    = #CustumGadget_Zoom_x1
    _CREATE_CUSTUMSLIDER()\backstyle    = #CustumGadget_Color_White
    _CREATE_CUSTUMSLIDER()\forecolor    = #CustumGadget_Color_White
    _CREATE_CUSTUMSLIDER()\backcolor    = GetWindowBackgroundColor(WindowID(_CREATE_CUSTUMSLIDER()\window))
    _CREATE_CUSTUMSLIDER()\multiselect  = #True
    _CREATE_CUSTUMSLIDER()\firstchange  = #False
    ;
    CUSTUMGadget_DrawRegulatory (_CREATE_CUSTUMSLIDER()\gadget)
    CUSTUMGadget_DrawButton    (_CREATE_CUSTUMSLIDER()\gadget)
    CUSTUMGadget_DrawSlider    (_CREATE_CUSTUMSLIDER()\gadget)
    ;
    BindGadgetEvent (_CREATE_CUSTUMSLIDER()\gadget, @_OnEvent_CUSTUMSLIDERS())
    ;
    ProcedureReturn ivalue
 
  EndProcedure
 
  Procedure _GetGadgetState(gadget.i)
    ;
    ;
    ;
    Protected.i iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
    ;
    If iMap <> #Null
      If _CREATE_CUSTUMSLIDER()\reverse = #False
        ProcedureReturn _CREATE_CUSTUMSLIDER()\value
      Else
        ProcedureReturn _CREATE_CUSTUMSLIDER()\max - _CREATE_CUSTUMSLIDER()\value     
      EndIf
    EndIf
   
  EndProcedure
 
  Procedure _SetGadgetState(gadget.i, value.i)
    ;
    ;
    ;
    Protected.i iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
    ;
    If iMap <> #Null
      value = _OnEvent_SCANBORDERS(value, _CREATE_CUSTUMSLIDER()\min, _CREATE_CUSTUMSLIDER()\max)
      If value <> _CREATE_CUSTUMSLIDER()\value
        _CREATE_CUSTUMSLIDER()\value = value
        If _CREATE_CUSTUMSLIDER()\min = 0
          _CREATE_CUSTUMSLIDER()\state = (_CREATE_CUSTUMSLIDER()\min + (-_CREATE_CUSTUMSLIDER()\value + (_CREATE_CUSTUMSLIDER()\max - _CREATE_CUSTUMSLIDER()\min)) / _CREATE_CUSTUMSLIDER()\pas)
        Else
          _CREATE_CUSTUMSLIDER()\state = (_CREATE_CUSTUMSLIDER()\min + (-_CREATE_CUSTUMSLIDER()\value + (_CREATE_CUSTUMSLIDER()\max - _CREATE_CUSTUMSLIDER()\min)) / _CREATE_CUSTUMSLIDER()\pas) - 2
        EndIf
        CUSTUMGadget_DrawSlider(gadget)
      EndIf
    EndIf
     
  EndProcedure
 
  Procedure _GetGadgetRange(gadget.i)
    ;
    ;
    ;
    Protected.i iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
    ;
    If iMap <> #Null
      ProcedureReturn _CREATE_CUSTUMSLIDER()\range
    EndIf
   
  EndProcedure
 
  Procedure _SetGadgetRange(gadget.i, range.i)
    ;
    ;
    ;
    Protected.i iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
    ;
    If iMap <> #Null
      _CREATE_CUSTUMSLIDER()\range = _OnEvent_SCANBORDERS(range, _CREATE_CUSTUMSLIDER()\min, _CREATE_CUSTUMSLIDER()\max)
    EndIf
     
  EndProcedure

  Procedure _GetGadgetColor(gadget.l, colortype.l)
    ;
    ;
    ;
    Protected.i iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
    ;
    If iMap <> #Null
      Select colortype
        Case #PB_Gadget_FrontColor
          ProcedureReturn _CREATE_CUSTUMSLIDER()\forecolor
        Case #PB_Gadget_BackColor, #PB_Gadget_BackStyle
          ProcedureReturn _CREATE_CUSTUMSLIDER()\backcolor
        Case #PB_Gadget_BackRegular
          ProcedureReturn _CREATE_CUSTUMSLIDER()\backstyle
      EndSelect
    EndIf
 
  EndProcedure
 
  Procedure _SetGadgetColor(gadget.l, colortype.l, color.i)
    ;
    ;
    ;
    Protected.i icol1, icol2, icolor
    Protected.i iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
    ;
    If iMap <> #Null
      Select colortype
        Case #PB_Gadget_FrontColor
          If _CREATE_CUSTUMSLIDER()\forecolor <> color
            _CREATE_CUSTUMSLIDER()\forecolor = color
            CUSTUMGadget_DrawButton    (gadget)
            CUSTUMGadget_DrawSlider    (gadget)
          EndIf
        Case #PB_Gadget_BackColor
          If _CREATE_CUSTUMSLIDER()\backcolor <> color
            _CREATE_CUSTUMSLIDER()\backcolor = color
            CUSTUMGadget_DrawRegulatory (gadget)
            CUSTUMGadget_DrawSlider    (gadget)
          EndIf
        Case #PB_Gadget_BackStyle
          If color = #CustumGadget_Color_Default
            color = GetWindowBackgroundColor(WindowID(_CREATE_CUSTUMSLIDER()\window))
          Else
            If color = #CustumGadget_Color_Blue
              icol1 = #CustumGadget_Slider_C10
              icol2 = #CustumGadget_Slider_C11
            Else
              icol1 = ColorSubstitute(#CustumGadget_Slider_C10, color)
              icol2 = ColorSubstitute(#CustumGadget_Slider_C11, color)
            EndIf
            icolor = ColorBlending(icol1, icol2, 0.5)
          EndIf
          ;
          If _CREATE_CUSTUMSLIDER()\backcolor <> icolor
            _CREATE_CUSTUMSLIDER()\backcolor = icolor
            _CREATE_CUSTUMSLIDER()\backstyle = color
            CUSTUMGadget_DrawRegulatory (gadget)
            CUSTUMGadget_DrawSlider    (gadget)
          EndIf
        Case #PB_Gadget_BackRegular
          If _CREATE_CUSTUMSLIDER()\backstyle <> color
            _CREATE_CUSTUMSLIDER()\backstyle = color
            CUSTUMGadget_DrawRegulatory (gadget)
            CUSTUMGadget_DrawSlider    (gadget)
          EndIf
      EndSelect
    EndIf
 
  EndProcedure

  Procedure _GetGadgetSelect(gadget.i)
    ;
    ; ROUTINE DE RECUPERATION DU LA VALEUR DU SLIDER.
    ;
 
  EndProcedure

  Procedure _SetGadgetSelect(gadget.i, value.b = #MinusOne)
    ;
    ;
    ;
    Protected.i iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
    ;
    If iMap <> #Null
      If value = -1
        _CREATE_CUSTUMSLIDER()\selected ! 1
      Else
        _CREATE_CUSTUMSLIDER()\selected = value
      EndIf
      ;
      CUSTUMGadget_DrawRegulatory (_CREATE_CUSTUMSLIDER()\gadget)
      CUSTUMGadget_DrawSlider    (_CREATE_CUSTUMSLIDER()\gadget)
    EndIf
 
  EndProcedure
 
  Procedure _GetGadgetData(gadget.i)
    ;
    ; ROUTINE DE RECUPERATION DU LA VALEUR DU SLIDER.
    ;
 
  EndProcedure

  Procedure _SetGadgetData(gadget.i, value.l)
    ;
    ; ROUTINE DE CHANGEMENT DE LA VALEUR DU SLIDER.
    ;
 
  EndProcedure

  Procedure _DisableGadget(gadget.i, value.b)
    ;
    ;
    ;
    Protected.i iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
    ;
    If iMap <> #Null
      _CREATE_CUSTUMSLIDER()\disable = value
      ;
      CUSTUMGadget_DrawSlider(_CREATE_CUSTUMSLIDER()\gadget)
    EndIf
 
  EndProcedure

  Procedure _HideGadget(gadget.i, value.b)
    ;
    ;
    ;
    Protected.i iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
    ;
    If iMap <> #Null
      _CREATE_CUSTUMSLIDER()\hide = value
      HideGadget(gadget, value)
    EndIf
 
  EndProcedure

  Procedure _FreeGadget(gadget.i)
    ;
    ;
    ;
    Protected.i iMap = FindMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
    ;
    If iMap <> #Null
      UnbindGadgetEvent(_CREATE_CUSTUMSLIDER()\gadget, @_OnEvent_CUSTUMSLIDERS())
      ;
      FreeGadget(_CREATE_CUSTUMSLIDER()\gadget)
      DeleteMapElement(_CREATE_CUSTUMSLIDER(), Str(gadget))
    EndIf
 
  EndProcedure

EndModule

; ****************************************************************************
; ****************************************************************************
; ****************************************************************************
;-
;- ROUTINE DE TEST DES FONCTIONS (USERLIB).

CompilerIf #PB_Compiler_Debugger = 1
 
  Define.i event, i, j
  Define.i aa, ba, ab, bb
  OpenWindow  (0, 0, 0, 800, 600, "Custum Gadget", #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_ScreenCentered)
 
  Define slider = 20
  Define Dim ihandle(slider)
  Define Dim ibtexte(slider)
  For i=0 To slider
    ihandle(i) = CustumSlider::_CreateGadget (#PB_Any, 10 + (i * 32), 28, 30, 200, 0, 0, 255)
    ibtexte(i) = TextGadget(#PB_Any, 10 + (i * 32), 10, 30, 18, "000", #PB_Text_Center)
  Next i
  CustumSlider::_CreateGadget  (10, 10 + (i * 32), 28, 30, 200, 0, 0, 255)
  CustumSlider::_SetGadgetColor(10, #PB_Gadget_FrontColor, #CustumGadget_Color_Gray)
  CustumSlider::_SetGadgetColor(10, #PB_Gadget_BackStyle,  #CustumGadget_Color_Cyan)
  ;
  CustumSlider::_SetGadgetColor(ihandle(0), #PB_Gadget_FrontColor, #CustumGadget_Color_White)
  CustumSlider::_SetGadgetColor(ihandle(0), #PB_Gadget_BackStyle, #CustumGadget_Color_White)
 
  CustumSlider::_SetGadgetColor(ihandle(1), #PB_Gadget_FrontColor, #CustumGadget_Color_Gray)
  CustumSlider::_SetGadgetColor(ihandle(1), #PB_Gadget_BackStyle, #CustumGadget_Color_Gray)
 
  CustumSlider::_SetGadgetColor(ihandle(2), #PB_Gadget_FrontColor, #CustumGadget_Color_Red)
  CustumSlider::_SetGadgetColor(ihandle(2), #PB_Gadget_BackStyle, #CustumGadget_Color_Red)
 
  CustumSlider::_SetGadgetColor(ihandle(3), #PB_Gadget_FrontColor, #CustumGadget_Color_Green)
  CustumSlider::_SetGadgetColor(ihandle(3), #PB_Gadget_BackStyle, #CustumGadget_Color_Green)
 
  CustumSlider::_SetGadgetColor(ihandle(4), #PB_Gadget_FrontColor, #CustumGadget_Color_Blue)
  CustumSlider::_SetGadgetColor(ihandle(4), #PB_Gadget_BackStyle, #CustumGadget_Color_Blue)
 
  CustumSlider::_SetGadgetColor(ihandle(5), #PB_Gadget_FrontColor, #CustumGadget_Color_Mallow)
  CustumSlider::_SetGadgetColor(ihandle(5), #PB_Gadget_BackStyle, #CustumGadget_Color_Mallow)
 
  CustumSlider::_SetGadgetColor(ihandle(6), #PB_Gadget_FrontColor, #CustumGadget_Color_Cyan)
  CustumSlider::_SetGadgetColor(ihandle(6), #PB_Gadget_BackStyle, #CustumGadget_Color_Cyan)
 
  CustumSlider::_SetGadgetColor(ihandle(7), #PB_Gadget_FrontColor, #CustumGadget_Color_Purple)
  CustumSlider::_SetGadgetColor(ihandle(7), #PB_Gadget_BackStyle, #CustumGadget_Color_Purple)
  CustumSlider::_DisableGadget (ihandle(7), #True)
 
  CustumSlider::_SetGadgetColor(ihandle(8), #PB_Gadget_FrontColor, #CustumGadget_Color_Yellow)
  CustumSlider::_SetGadgetColor(ihandle(8), #PB_Gadget_BackStyle, #CustumGadget_Color_Yellow)

 
  Repeat
    event = WaitWindowEvent(10)
    If event = #PB_Event_Gadget
    EndIf
    If event = #PB_Event_CustumGadget_Slider
      j = EventGadget()
      For i=0 To slider
        If ihandle(i) = j
          SetGadgetText(ibtexte(i), RSet(Str(CustumSlider::_GetGadgetState(ihandle(i))), 3, "0"))
        EndIf
      Next i
    EndIf
  Until event = #PB_Event_CloseWindow

CompilerEndIf
; IDE Options = PureBasic 5.62 (Windows - x86)
; CursorPosition = 865
; FirstLine = 20
; Folding = --------
; EnableXP

Admin
Admin

Messages : 66
Date d'inscription : 04/09/2015

https://sphforum.kanak.fr

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum