منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : معرفة لون النقطة التي يمر بها الماوس حالياً
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كاتب الموضوع : AhmedEssawy

يعتمد الكود على GetCursorPos التي شرحناها في كود سابق والتي تعيد لنا مكان الماوس لمعرفة الاحداثيات التي يمر بها الماوس ، ومن ثم نستخدم دالة API المسماه GetPixel من مكتبة gdi32 والتي نعطيها نقطة من الشاشة لتعطينا اللون الخاص بها .



كود :
Option Explicit
Private Type POINTAPI
x As Long
y As Long
End Type
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
وهذا الكود في الزر المطلوب ، يفضل Timer ليتم تحديثه لحظياً :


كود :
Dim tPOS As POINTAPI
Dim sTmp As String
Dim lColor As Long
Dim lDC As Long
lDC = GetWindowDC(0)
Call GetCursorPos(tPOS)
lColor = GetPixel(lDC, tPOS.x, tPOS.y)
Label2.BackColor = lColor
End Sub
يمكنك لاحقاً استخدام اللون وعرضه في picture box مثلاً .