Le debut de mon slider (Potentiometre)

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Le debut de mon slider (Potentiometre)

Message par Le Soldat Inconnu »

il faut te faire un jeu de fonction
Dans le genre :

SlideCursorgadget(
SetSlideCursorColor(
GetSlideCursorColor(
SetSlideCursorState(
GetSlideCursorState(
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Le debut de mon slider (Potentiometre)

Message 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
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Le debut de mon slider (Potentiometre)

Message 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
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Le debut de mon slider (Potentiometre)

Message 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).
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Le debut de mon slider (Potentiometre)

Message 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
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Le debut de mon slider (Potentiometre)

Message par Le Soldat Inconnu »

Pour ma part, cela me semble très bien :D
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Le debut de mon slider (Potentiometre)

Message 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
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Répondre