![]() |
|
التعامل مع DBGrid بإستخدام زر الماوس الاوسط - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : التعامل مع DBGrid بإستخدام زر الماوس الاوسط (/showthread.php?tid=3028) الصفحات:
1
2
|
التعامل مع DBGrid بإستخدام زر الماوس الاوسط - abdelmalek - 24-04-2011 السلام عليكم ورحمة الله وبركاته ماهو الحدث المجود في الـ DBGrid الذي يتعامل مع زر الماوس الاوسط ؟؟! بارك الله فيكم وسلام عليكم التعامل مع DBGrid بإستخدام زر الماوس الاوسط - kachwahed - 24-04-2011 وعليكم السلام ورحمة الله وبركاته الحدث OnMouseWheel من رسالة ويندوز WM_MOUSEWHEEL يمكنك صنعه بنفسك، مثال: PHP كود : Author: Zarko Gajicبالتوفيق. التعامل مع DBGrid بإستخدام زر الماوس الاوسط - abdelmalek - 24-04-2011 بارك الله فيك أستاذي الكريم لكن لم تعمل معي. قمت بوضع هذا الكود داخل الحدث OnMouseWheel لكن كان شيئا لم يحدث PHP كود : TC.Filter:='TC_TG_ID='+inttostr(TGTG_ID.AsInteger);إين الخلل ؟؟ لتوضيح : اقصد بزر الماوس الاوسط هو ذلك الدي يدور التعامل مع DBGrid بإستخدام زر الماوس الاوسط - وليد - 24-04-2011 السلام عليكم إذا كنت تقصد استعمال زر الماوس الوسط للإنتقال بين السجلات ففي المرفقات مثال على ذلك وإن كنت تقصد غير ذلك فلا أدري PHP كود : procedure TForm1.DBGrid1MouseWheelDown(Sender: TObject; Shift: TShiftState;التعامل مع DBGrid بإستخدام زر الماوس الاوسط - kachwahed - 24-04-2011 إقتباس :قمت بوضع هذا الكود داخل الحدث OnMouseWheel لكن كان شيئا لم يحدثهذا الحدث غير متوفر في المكون TDBGrid الأصلي، عليك برمجته بنفسك طريقة أخرى للتأثير على كامل المشروع: عرف في القسم public لأي نموذج، وليكن TForm1 مثلا: PHP كود : publicPHP كود : procedure TForm1.OnMessage(var Msg: TMsg; var Handled: Boolean);كود : Application.Initialize;
[color=Blue] Application.OnMessage := Form1.OnMessage;[/color]
Application.CreateForm(TForm1, Form1);وإرسال حدثين بدلا من ذلك هما ضغط المفتاح "فوق" (VK_UP) و"تحت" (VK_DOWN) على التوالي أما إن كنت تقصد حدث النقر على الزر الأوسط (وليس تدوير العجلة) فهذا ممكن باستخدام Button: TMouseButton من خلال OnMouseDown أو OnMouseUp كود : procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbMiddle then
ShowMessage('Mouse Middle button clicked!');
end;بالتوفيق. التعامل مع DBGrid بإستخدام زر الماوس الاوسط - abdelmalek - 24-04-2011 أستاذي يوجد عندي الحدث (استعمل sdbgrid التابع لي alphaskin) توقف اللسان عن التعبير(الله ينورك) التعامل مع DBGrid بإستخدام زر الماوس الاوسط - abdelmalek - 24-04-2011 أستاذي لقد قمت بتعامل مع الاحداث التالية : PHP كود : procedure TStockFrm.sDBGrid1KeyDown(Sender: TObject; var Key: Word;PHP كود : procedure TStockFrm.sDBGrid1KeyUp(Sender: TObject; var Key: Word;PHP كود : procedure TStockFrm.sDBGrid1MouseWheel(Sender: TObject; Shift: TShiftState;الحمد الله عملت لكن خرج لي مشكل اخر وهو : -عند تدوير الزر الى الاسفل يصبح يشير الى السجل الثاني لكن العملية تجرا على السجل الاول و العكس صحيح هههههههه هبلني :angry: التعامل مع DBGrid بإستخدام زر الماوس الاوسط - abdelmalek - 24-04-2011 في المرفق فيديو يظهر المشكلة التعامل مع DBGrid بإستخدام زر الماوس الاوسط - kachwahed - 24-04-2011 إقتباس :أستاذي يوجد عندي الحدث (استعمل sdbgrid التابع لي alphaskin)قلت المكون TDBGrid الأصلي، هذا معدّل لم تقل في البداية ذلك، وإلا لكان هناك ربما حل آخر... إقتباس :إذا كنت تقصد استعمال زر الماوس الوسط للإنتقال بين السجلاتتم إصلاح هذا الخلل في إصدارات دلفي الأخيرة فلا داعي لذلك (2009 فما فوق -على الأقل-) إقتباس :الحمد الله عملت لكن خرج لي مشكل اخر وهو :لا تستخدم هذه الأحداث sDBGrid1KeyUp، sDBGrid1KeyDown خاصة sDBGrid1MouseWheelUp التعامل مع DBGrid بإستخدام زر الماوس الاوسط - abdelmalek - 24-04-2011 أستاذي لقد قمت بتعديل المشاركة السابقة وهل رئية الفيديو وما هو الحل ؟؟؟؟ |