Clm's picker : capturer une couleur le plus simplement du monde

Description

Encore un petit bout de code qui s'avère très pratique lorsqu'on développe en VB et que l'on veut récupérer une couleur.

Collez simplement ce code dans votre Form, ajoutez un timer (intervalle = 200) et testez...

La version du zip permet de copier la couleur dans le clipboard au formart &HXXXXXX en appuyant sur shift. Ensuite, Il n'y a plus qu'à la coller dans le code VB ou la fenêtre des propriétés. Elle donne aussi les composantes RGB (voir capture).

J'ai aussi créé une copie du projet mais sous forme d'AddIn VB6. Ainsi vous pouvez utiliser le programme de deux manières différentes...

Source / Exemple :


Option Explicit

Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long

Private Type POINTAPI
    X As Long
    Y As Long
End Type

Dim Pt As POINTAPI

Private Sub Timer1_Timer()
   
   Dim lDC As Long
   On Error Resume Next
   
   lDC = GetWindowDC(0)
   GetCursorPos Pt
   Me.BackColor = GetPixel(lDC, Pt.X, Pt.Y)
   ReleaseDC Me.hwnd, lDC
   Me.Caption = "&H" & Hex(Me.BackColor)
   
End Sub

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.