Page 2 sur 2

Re: Le debut de mon slider (Potentiometre)

Publié : mer. 18/janv./2012 22:59
par Le Soldat Inconnu
il faut te faire un jeu de fonction
Dans le genre :

SlideCursorgadget(
SetSlideCursorColor(
GetSlideCursorColor(
SetSlideCursorState(
GetSlideCursorState(

Re: Le debut de mon slider (Potentiometre)

Publié : jeu. 19/janv./2012 21:05
par GallyHC
Bonjour,

Merci "Le Soldat Inconnu", tu as raison sur le type de methode d'ecrire, par contre ma question ete plus sur le fait que d'une procedure cela met un gadget dans la form voulue et apres avoir facilement les interractions avec le gadget et la form.

En tout cas merci,
GallyHC

Re: Le debut de mon slider (Potentiometre)

Publié : ven. 20/janv./2012 8:13
par Le Soldat Inconnu
les interactions, c'est plus compliqué, vu que tu utilises une image.

Eventuellement :

Code : Tout sélectionner

Select EventGadget
  Case #TonPotentiometre
    SlideCursorEvent()
EndSelect
ensuite

Code : Tout sélectionner

ProcedureDLL SlideCursorEvent()
  Select EventType()
    Case #PB_EventType_RightClick
      If Ton potar n'est pas en readonly
        ; Gestion du clic et du clic maintenu
        ; Faut lire la position de la souris (DeskTopMouse) et la position du potar (GetWindowRect_) pour savoir on il a été cliqué
        ; Si tu galères pour le clic maintenu, je te filerais un coup de main, j'ai tout ce qu'il faut pour ça, j'en ai fait plein dans ce genre
        ; Tu peux également regardé le code de ma librairie GetColor, tu trouveras dedans le principe pour le clic maintenu
      EndIf
  EndSelect
EndProcedure

Re: Le debut de mon slider (Potentiometre)

Publié : mar. 24/janv./2012 13:40
par GallyHC
Bonjour tous,

Je commence le dev de la userlib (pour que la gestion en code soit le plus simple). Alors voila le depart de la structure du code et je voudrais avoir vos avis pour savoir si je suis en bonne vois ou si je me plante completement. Ayant rien trouver de concret sur le dev d'un gadget en userlib je tatone :).

Code : Tout sélectionner

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

; +--------------------------------------------------------------------------+
; |                                                                          |
; +--------------------------------------------------------------------------+
;- INITIALISATION DES DIRECTIVES COMPILATEUR.

DisableASM
EnableExplicit

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

; +--------------------------------------------------------------------------+
; |                                                                          |
; +--------------------------------------------------------------------------+
;- DECLARATION DES FONCTIONS .

Declare FreeAllDMXGadgets()

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

; +--------------------------------------------------------------------------+
; |                                                                          |
; +--------------------------------------------------------------------------+
;- DECLARATION DES VARIABLES (GLOBALE).

;{ - CONSTANTES
#DMX_Color_White  = 0
#DMX_Color_Gray   = 1
#DMX_Color_Red    = 2
#DMX_Color_Green  = 3 
#DMX_Color_Blue   = 4
#DMX_Color_Cyan   = 5
#DMX_Color_Purple = 6
#DMX_Color_Yellow = 7
;}
;{ - ENUMERATION
;}
;{ - CONSTANTES GLOBALS
;}

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

; +--------------------------------------------------------------------------+
; |                                                                          |
; +--------------------------------------------------------------------------+

ProcedureDLL PBOSL_Screengadgets_Init()
; INITIALISATION DES DMX GADGETS.

  Global numDMXSlider.l

  Structure DMXSlider
    gadget.l
    x.l
    y.l
    w.l
    h.l
    min.l
    max.l
    value.l
    color.l
    disable.b
  EndStructure

  Global Dim DMXSlider.DMXSlider(0)

EndProcedure
  
ProcedureDLL PBOSL_Screengadgets_End()
; SUPPRESSION DE TOUTS LES DMX GADGETS.
  FreeAllDMXGadgets()

EndProcedure

Procedure FreeAllDMXGadgets()
; SUPPRESSION DE TOUTS LES DMX GADGETS.

EndProcedure

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

; +--------------------------------------------------------------------------+
; |                                                                          |
; +--------------------------------------------------------------------------+

Procedure.l GetDMXGadgetColor(gadget.l, colortype.l)
; DONNE LA COULEUR DU DMX GADGET.
  Select colortype
    Case #PB_Gadget_FrontColor
    Case #PB_Gadget_BackColor
  EndSelect

EndProcedure

Procedure.l SetDMXGadgetColor(gadget.l, colortype.l, color.l)
; CHANGE LA COULEUR DU DMX GADGET.
  Select colortype
    Case #PB_Gadget_FrontColor
    Case #PB_Gadget_BackColor
  EndSelect

EndProcedure

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

; +--------------------------------------------------------------------------+
; |                                                                          |
; +--------------------------------------------------------------------------+

ProcedureDLL.l GetDMXGadgetState(gadget.l)
;

EndProcedure

ProcedureDLL.l SetDMXGadgetState(gadget.l, state.l)
;

EndProcedure

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

; +--------------------------------------------------------------------------+
; |                                                                          |
; +--------------------------------------------------------------------------+

ProcedureDLL DisableDMXGadget(gadget.l, state.b)
; ACTIVE OU DESACTIVE LE DMX GADGET.
  
EndProcedure

ProcedureDLL FreeDMXGadget(gadget.l)
; SUPPRESSION DU #GADGET DU DMX GADGET.
  
EndProcedure

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

; +--------------------------------------------------------------------------+
; |                                                                          |
; +--------------------------------------------------------------------------+

ProcedureDLL DMXSliderGadget(gadget.l, x.l, y.l, w.l, h.l, value.l=0, min.l=0, max.l=100, color.l=0)
; INITIALISATION D'UN DMX SLIDER.

EndProcedure
merci d'avance,
GallyHC

PS: je vais supprimer Bitdefender qui prend tout mes progs pour des virus (surtout polink d'ailleur).

Re: Le debut de mon slider (Potentiometre)

Publié : mar. 24/janv./2012 18:43
par graph100
bah j'ai fait un gros post sur des gadgets facilement intégrables ;)
le soucis est (je pense) qu'il faut adapter ton code à ma syntaxe pour que ça rentre dans l'environnement. mais c'est tout.
Ça peut être très vite fait (les points positifs : tout les trucs de redimensionnement sont déjà pris en compte, et le code ne compile que les gadgets qui sont demandés par le programmeur (donc taille pas énorme en dépits de la taille du code)

tu te souviens ? tu m'avais fait un design pour un gadget à option ^^
regarde ici

edit : par contre, ce que j'ai fait est à utiliser en include

Re: Le debut de mon slider (Potentiometre)

Publié : mar. 24/janv./2012 23:36
par Le Soldat Inconnu
Pour ma part, cela me semble très bien :D

Re: Le debut de mon slider (Potentiometre)

Publié : mer. 25/janv./2012 19:40
par GallyHC
Bonjour tous,

graph100 > ouep me rappel mais j'arrivais pas a mettre la main dessus vais analyser tout cela merci. dans tout les cas sa m'aidera dans la realisation de ma userlib :) (et si sa le fait je ferais peu etre un tuto pour tous).

Le Soldat Inconnu> merci.

Cordialement,
GallyHC