OVH Cloud OVH Cloud

Lire un point de l'écran

2 réponses
Avatar
yvonnick.guitton
Bonjour,
Avec VB6 peux t'on lire les valeurs d'un point de l'écran,
si oui quel est cette commande

Merci d'avance

--

s.marendaz@wanadoo.fr

2 réponses

Avatar
Christian HUBERT-HUGOUD- Xtrem7
Voici du code qui permet de lire la couleur de la barre de menu dans une
feuille MDI...

Hope this helps...

Christian



Public Sub SetMenuBackgroundColor(f As MDIForm)

Dim r As RECT, r2 As RECT
Dim CaptionHeight&, BorderWidth&, BorderHeight&

CaptionHeight = GetSystemMetrics(SM_CYSMCAPTION)
BorderHeight = GetSystemMetrics(SM_CYBORDER)
BorderWidth = GetSystemMetrics(SM_CXBORDER)

GetWindowRect f.hwnd, r

gMenuBackgroundColor = GetPixel(GetWindowDC(0), r.Right - BorderWidth -
100, r.Top + CaptionHeight + BorderHeight + 12)

' With r2
' .Top = r.Top + CaptionHeight + BorderHeight + 12
' .Left = r.Right - BorderWidth - 100
' .Right = .Left + 10
' .Bottom = .Top + 10
' End With
'
' DrawText GetDC(0), "*", Len("*"), r2, DT_CENTER

End Sub

"yvonnick.guitton" a écrit dans le message de
news:4178d073$0$15142$
Bonjour,
Avec VB6 peux t'on lire les valeurs d'un point de l'écran,
si oui quel est cette commande

Merci d'avance

--






Avatar
ng
Salut,

Essaye avec GetPixel() (Il xiste aussi Point() pour les picturebox par
exemple, GetPixel() et bcp plus général) :

Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As
Long, ByVal y As Long) As Long
Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As
Long, ByVal y As Long, ByVal crColor As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Private Sub Form_Load()

'//Bien entendu pour faire cela on utiliserait plutot BitBlt() qui est
'//plus rapide pour la copie de "portions", ici c'est juste un exemple
de GetPixel()
'//qui permet de récupérer la couleur d'un pixel précis.

Me.AutoRedraw = True

Dim dwDC As Long, dwFormDC As Long
Dim i As Long, j As Long

dwDC = GetDC(0)
dwFormDC = Me.hdc

For i = 50 To 100
For j = 50 To 100
Call SetPixel(dwFormDC, i - 50, j - 50, GetPixel(dwDC, i, j))
Next
Next

End Sub


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

yvonnick.guitton wrote:
Bonjour,
Avec VB6 peux t'on lire les valeurs d'un point de l'écran,
si oui quel est cette commande

Merci d'avance