Couleur

Résolu
CYBOR2000 Messages postés 31 Date d'inscription samedi 19 février 2005 Statut Membre Dernière intervention 9 mars 2007 - 10 avril 2005 à 18:55
jrbleboss Messages postés 480 Date d'inscription jeudi 6 mai 2004 Statut Membre Derniè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.

-cybor-

3 réponses

jrbleboss Messages postés 480 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 3 septembre 2007 1
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.

A toi de l'adapter.



JRB
3
CYBOR2000 Messages postés 31 Date d'inscription samedi 19 février 2005 Statut Membre Dernière intervention 9 mars 2007
10 avril 2005 à 21:26
merci énormement ,c' est pile ce que je cherchais


-cybor-
0
jrbleboss Messages postés 480 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 3 septembre 2007 1
10 avril 2005 à 21:33
De rien


JRB
0
Rejoignez-nous