الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حدث تحرك الماوس

بدأه majed_ali في 10 يوليو 2008 · 2 رد · 599 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أريد تنفيذ حدث عند تحرك الماوس, ولكن عندما تكون الفورم غير مفعلة....

أي أن برنامجي سوف يكون مخفي وعندا تتحرك الماوس أريد تنفيذ أمر معين.......

هل يوجد أحد يمكن أن يفيدني؟؟؟؟؟

وشكرا

#2

السلام عليكم...

استعمل Timer مع ضبط الخاصية Interval على قيمة منخفضة (100 ميللي ثانية أو أقل) و داخل حدث الـ Timer اقرأ إحداثيات موقع مؤشر الفأرة و تصرف على أساسها.

الكود التالي (Form عليها Shape باسم Shape1 و Timer باسم Timer1 و 2 Panels باسم Panel1 و Panel2) يبين مثالين (في نفس الوقت) للاستفادة من متابعة موقع مؤشر الفأرة: 1. معرفة لون النقطة الواقعة تحت المؤشر، 2. معرفة مقبض (Handle) و عنوان (Title) النافذة الواقعة تحت المؤشر:

  1. implementation
  2.  
  3. {$R *.dfm}
  4.  
  5. var
  6. ScreenDC: HDC;
  7. hWin: HWND;
  8. PWinCap: PAnsiChar;
  9.  
  10. procedure TForm1.FormCreate(Sender: TObject);
  11. begin
  12. ScreenDC := GetDC(0);
  13. end;
  14.  
  15. procedure TForm1.Timer1Timer(Sender: TObject);
  16. begin
  17. Shape1.Brush.Color := GetPixel(ScreenDC, Mouse.CursorPos.X, Mouse.CursorPos.Y);
  18. try
  19. GetMem(PWinCap, 255);
  20. hWin := WindowFromPoint(Mouse.CursorPos);
  21. GetWindowText(hWin, PWinCap, 255);
  22. Panel1.Caption := IntToStr(hWin);
  23. Panel2.Caption := string(PWinCap);
  24. finally
  25. FreeMem(PWinCap);
  26. end;
  27. end;
  28.  

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#3

شكرا على الرد, وشغال معي تماااااااام

جزاك الله كل خير

مواضيع مشابهة