Alan71
Messages postés
530
Date d'inscription
lundi 3 juin 2002
Statut
Membre
Dernière intervention
13 juin 2004
24 sept. 2002 à 19:43
Le code contient une feuille avec un picturebox (ici, mybutton) et un module.
Mon dessin est simple, pour plus complexe, faut faire un bmp (G splik tout ca).
Dans un 1er temps, colle ca dans un projet et test.
Wam, j'vais trouver ton ActiveX et essayer de comprendre comment ca marche. (Let, Set, Get, tout s'embrouille)
Au fait t'a l'ADSL ? (moi pas, :( )
'----------------
'| Feuille |
'----------------
'Voilà, le code est pas long et évite de créer un ActiveX
Private Sub Form_Load()
txtButton = "Le Voilà !"
'Premier draw /!\ Pense à activer l'AutoReDraw
DrawControl MyButton
End Sub
Private Sub MyButton_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Facile, Quand on appuie le State = Pressed
DrawControl MyButton, Pressed
End Sub
Private Sub MyButton_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
' [...] No Comments
DrawControl MyButton, UnPressed
End Sub
'--------------
'| Module |
'--------------
'Text du Bouton
Public txtButton As String
'Etats du bouton
Public Enum StateButton
UnPressed = 1
Pressed = 0
End Enum
Public Function DrawControl(MyPicture As PictureBox, Optional State As StateButton = UnPressed)
'Selon l'état
Select Case State
Case UnPressed
'Intérieur
MyPicture.Line (0, 0)-(MyPicture.Width, MyPicture.Height), RGB(0, 255, 255), BF
'Contour
MyPicture.Line (0, 0)-(MyPicture.Width - 1, MyPicture.Height - 1 * Screen.TwipsPerPixelY), RGB(0, 0, 0), B
'Texte
MyPicture.CurrentX = (MyPicture.Width - MyPicture.TextWidth(txtButton)) / 2
MyPicture.CurrentY = (MyPicture.Height - MyPicture.TextHeight(txtButton)) / 2
MyPicture.Print txtButton
Case Pressed
MyPicture.Line (0, 0)-(MyPicture.Width, MyPicture.Height), RGB(255, 255, 0), BF
MyPicture.Line (0, 0)-(MyPicture.Width - 1, MyPicture.Height - 1), RGB(0, 0, 0), B
MyPicture.CurrentX = (MyPicture.Width - MyPicture.TextWidth(txtButton)) / 2
MyPicture.CurrentY = (MyPicture.Height - MyPicture.TextHeight(txtButton)) / 2
MyPicture.Print txtButton
End Select
'Je change juste la couleur
'Pour D trucs + complexe, j'te laisse l'affair (8þ)
'J'uis sympa (heu, ca reste à voir), j'te donne la recette de ce merveilleux smiley
' Alt + 999 (du pav. num.)
'---------------
'Si ca te fait chier de le dessiner avec le code
'que tu dispose d'un editeur de ressource (maintenant inclus dans VB6,
'sinon Borland C++ Builder en à un et MS Visual C++)
'
'ainsi que les <> BMP
'Procede comme suit :
' - Insère tes BMP dans ton fichier ressource
' - Met le comme 'document associé' dans l'explorateur de projet
' (Comme si t'ajoutait une feuille ou un module
' - MyPicture.Picture = LoadResPicure("NOM_DU_BMP", 0)
End Function
>:) ::Alan USSE:: >:)