Lib_onglet

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Ouai enfin bon c'est pas une image sinon sa serai un peu trop simple d'afficher une image :roll:

Je vais faire les evenement au passage de la souris et au clique maintenant, enfin se soir :wink:
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Fichier mis a jour :

Syntaxe:

Code : Tout sélectionner

onglet(window, posx, posy, largeur, hauteur, type, couleurOn, couleurOff, couleurClic, event)
window = fenêtre dans la quelle doit etre afficher l'onglet lol
hauteur = hauteur de l'onglet
largeur = largeur de l'onglet
posx = position sur l'axe des x
posy = position sur l'axe des y
type = type d'onglet (1 ou 2)
couleurOn = couleur du bandeau quand la souris passe dessus
couleurOff = couleur du bandeau quand la souris n'est pas dessus
couleurClic = couleur du bandeau quand clique gauche
event = la variable qui déclare WaitWindowEvent()
Lib_onglet
Image

Un exemple est present sur le premier post si vous voulez voir un résultat vite fait :wink:

Le tout sera simplifier et alleger quand je pourrais passer tout sa en gadget :wink:
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Salut,

Je n'ai pas le temps d'achever ma lib, alors je met la source sur le forum.

Ce n'est rien d'exceptionel, mais bon c'est du travail déjà maché au moin :wink:


;---------------------------------------------------------
;--Créer par wolfjeremy
;--wolf1jeremy@yahoo.fr
;---------------------------------------------------------

ProcedureDLL onglet(window, posx, posy, largeur, hauteur, type, couleurOn, couleurOff, couleurClic, event)

   If WindowMouseX (0) >= posx And WindowMouseX (0) <= posx+largeur And WindowMouseY (0) >= posy And WindowMouseY (0) <= posy+hauteur
    couleur = couleurOn
   Else
    couleur = couleurOff
   EndIf

   If event = #WM_LBUTTONDOWN And WindowMouseX (0) >= posx And WindowMouseX (0) <= posx+largeur And WindowMouseY (0) >= posy And WindowMouseY (0) <= posy+hauteur
    couleur = couleurClic
   EndIf

StartDrawing ( WindowOutput (window))

   ;forme générale
     FrontColor ( RGB (169, 169, 169))
     ;ligne vertical gauche
     Line (posx, posy, 0, hauteur-2)
     ;angle gauche
     Line (posx, posy, 2, -2)
     ;ligne horizontal haut
     Line (posx+2, posy-2, largeur-4, 0)
     ;angle droit
     Line (posx+largeur-2, posy-2, 2, 2)
     ;ligne vertical droite
     Line (posx+largeur, posy, 0, hauteur-2)
     ;fond
     FrontColor ( RGB (250, 250, 250))
     Line (posx+2, posy-1, largeur-3, 0)
     Line (posx+1, posy, largeur-1, 0)
     For x=1 To hauteur-3
     Line (posx+1, posy+x, largeur-1, 0)
     Next
    
StopDrawing ()
    
   ;bandeau
     If type = 1
      
       StartDrawing ( WindowOutput (window))
       FrontColor (couleur)
       Line (posx+3, posy-3, 3, -3)
       Line (posx+3, posy-3, largeur-6, 0)
       Line (posx+4, posy-4, largeur-8, 0)
       Line (posx+5, posy-5, largeur-10, 0)
       Line (posx+largeur-3, posy-3, -3, -3)
       StopDrawing ()
      
     ElseIf type = 2
    
       StartDrawing ( WindowOutput (window))
       FrontColor (couleur)
       Line (posx+2, posy-1, largeur-3, 0)
       Line (posx+1, posy, largeur-1, 0)
       Line (posx+1, posy+1, 1, 0)
       Line (posx+2, posy+1, largeur-2, 0)
       Line (posx+largeur-1, posy+1, 1, 0)
       StopDrawing ()
    
     EndIf

EndProcedure


En ésperant que certain seront interessés.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Tu as pas un code d'essais à mettre sur le forum ?

Il est possible que ton code m'interesse.
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Première page, dans le premier post :wink:

Il y a un code d'exemple.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

wolfjeremy a écrit :Première page, dans le premier post :wink:

Il y a un code d'exemple.

Ou sont mes lunettes :D
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Tien si tu les retrouve pas lol :wink:

Code : Tout sélectionner

posx = 40
posy = 30
hauteur = 25
largeur = 95
window = 0

r1 = 146
g1 = 226
b1 = 129

r2 = 255
g2 = 0
b2 = 0

r3 = 2
g3 = 131
b3 = 253


OpenWindow(0, 0, 0, 300, 150, "test")

CreateGadgetList(WindowID(0))

TextGadget(0, 8, 73, 55, 17, "couleurOn : ")
TextGadget(1, 68, 73, 10, 17, "R:")
StringGadget(2, 80, 70, 30, 17, "145")
TextGadget(3, 112, 73, 10, 17, "G:")
StringGadget(4, 128, 70, 30, 17, "225")
TextGadget(5, 160, 73, 10, 17, "B:")
StringGadget(6, 172, 70, 30, 17, "129")

TextGadget(7, 8, 103, 55, 17, "couleurOff : ")
TextGadget(8, 68, 103, 10, 17, "R:")
StringGadget(9, 80, 100, 30, 17, "255")
TextGadget(10, 112, 103, 10, 17, "G:")
StringGadget(11, 128, 100, 30, 17, "0")
TextGadget(12, 160, 103, 10, 17, "B:")
StringGadget(13, 172, 100, 30, 17, "0")

TextGadget(14, 8, 133, 58, 17, "couleurClic : ")
TextGadget(15, 68, 133, 10, 17, "R:")
StringGadget(16, 80, 130, 30, 17, "2")
TextGadget(17, 112, 133, 10, 17, "G:")
StringGadget(18, 128, 130, 30, 17, "131")
TextGadget(19, 160, 133, 10, 17, "B:")
StringGadget(20, 172, 130, 30, 17, "253")

Repeat

couleurOn = RGB(r1, g1, b1)
couleurOff = RGB(r2, g2, b2)
couleurClic = RGB(r3, g3, b3)

event = WaitWindowEvent()

;Un onglet avec bandeau vert de type 1
onglet(window, posx, posy, largeur, hauteur, 1, couleurOn, couleurOff, couleurClic, event)

;Un onglet avec bandeau vert de type 2
onglet(window, posx+largeur+6, posy, largeur, hauteur, 2, couleurOn, couleurOff, couleurClic, event)

If event = #PB_Event_Gadget
  
    Select EventGadget()
    
      Case 2
      r1 = Val(GetGadgetText(2))
      
      Case 4
      g1 = Val(GetGadgetText(4))
      
      Case 6
      b1 = Val(GetGadgetText(6))
      
      Case 9
      r2 = Val(GetGadgetText(9))
      
      Case 11
      g2 = Val(GetGadgetText(11))
      
      Case 13
      b2 = Val(GetGadgetText(13))
      
      Case 16
      r3 = Val(GetGadgetText(16))
      
      Case 18
      g3 = Val(GetGadgetText(18))
      
      Case 20
      b3 = Val(GetGadgetText(20))
      
    
    EndSelect

EndIf

If event = #PB_Event_CloseWindow
End
EndIf

ForEver
Répondre