CYBOR2000
Messages postés31Date d'inscriptionsamedi 19 février 2005StatutMembreDernière intervention 9 mars 2007
-
10 avril 2005 à 18:55
jrbleboss
Messages postés480Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention 3 septembre 2007
-
10 avril 2005 à 21:33
bonjour à tous,
comment faire pour que dès que qu' on clique sur une form, on récupère la couleur du pixel ou il y eut le mouseup, et on attribu cette couleur au backcolor de la form
c' est très important pour un projet
merci d' avance.
jrbleboss
Messages postés480Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention 3 septembre 20071 10 avril 2005 à 19:23
CE code n'est pas de moi mais il va surement t'aider.
Private Declare Function ExtFloodFill
Lib "gdi32" (ByVal hDC As Long,
_
ByVal XStart As Long, ByVal YStart As Long, _
ByVal ClrRef
As Long, ByVal FillType As Long) As Long
Private Sub Form_Activate()
Dim I
As Integer
' Préparation de la
feuille
Me.ScaleMode = 3
Me.Move (Screen.Width -
4410) / 2, _
(Screen.Height - 6450) / 2, _
6450,
4410
' Préparation du contrôle PictureBox
(Picture1)
With Picture1
.AutoRedraw = True
.ScaleMode
= vbPixels
.ForeColor = vbBlack
.FillColor = vbRed
.Top =
7
.Left = 7
.Height = 250
.Width = 250
End With
' Préparation du dessin
exemple
Picture1.FillStyle = 1
Picture1.Line (10,
10)-(190, 170), 0&, B
Picture1.Line (10, 10)-(190, 170),
0&
Picture1.Line (10, 170)-(190, 10), 0&
Picture1.Circle (100,
90), 80, 0&, , , 0.6
Picture1.Circle (100, 90), 70, 0&, , ,
2
' Palette de couleurs
For
I = 1 To 16
Me.Line (260, 11 * I)-(300, (11 * I) + 11), QBColor(0),
B
Me.Line (261, (11 * I) + 1)-(299, (11 * I) + 10), QBColor(I - 1),
BF
Next
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single,
Y As Single)
' Enregistre la couleur du point courant sous la souris.
Picture1.FillColor = Point(X, Y)
End
Sub
Private Sub Picture1_MouseDown(Button
As Integer, Shift As Integer, _
X As Single, Y As Single)
' Remplit la zone correspondante du
contrôle PictureBox
' avec la couleur courante de la palette.
Dim X1 As Long,
Y1 As Long, lgRet As Long
X1 =
CLng(X)
Y1 = CLng(Y)
Picture1.FillStyle = 0
lgRet =
ExtFloodFill(Picture1.hDC, X1, Y1, 0&,
0&)
Picture1.Refresh
End Sub
Ce code met la couleur sélectionné dans une picture box.