easyDelphi Q&A
+2 تصويتات
37 مشاهدات
عندي مودل فورم Modal Form

اريد عند الضغط خارجه يتم غلق الفورم

للتقريب فقط مثل قائمة ابدأ في الويندوز

شكرا
سُئل في تصنيف vcl بواسطة (270 نقاط)
أعيد الوسم بواسطة | 37 مشاهدات
 
قائمة ابدأ في الويندوز ليست Modal
اذا كان الشرط Modal فلا يوجد اجابة شافية

1 إجابة واحدة

+1 تصويت
أفضل إجابة

طلب غريب بعض الشيء . وغير مألوف . بكل الاحول هذا اقرب واسهل ما يمكن عمله 

تعتمد الفكرة على الحصول على رسالة WMNCActivate من النظام . وهي ترسل في حال تم تغير في الـ activate للنوافذ.

في نافذة modul form :

type
    mform = class(tform)
    .
    .
    protected
         procedure WMNCActivate(var Message: TWMNCActivate); message WM_NCACTIVATE;
    .
    .
    end;

 

في implementation

 

procedure TForm2.WMNCActivate(var Message: TWMNCActivate);
begin
   EnableWindow(form1.Handle, true); // تمكين النافذة الرئيسية form1 قبل الاغلاق لمنع الصوت المزعج
   modalresult := mrOK; // اغلاق النافذة بإعادة قيمة ـ استبدلها ما تريد. او اغلقها بـ close
   inherited; // هذه للتاكد من اتمام الاجراءات المتعلق بالرسالة wmncActivate  إن وجد تتمة 
end;


ملاحظة هامة : هذه طريقة لا تصلح اذا كان هناك رسائل messageBox ستظهر من النافذة module . لانها متعمدة على تفعيل النافذة وظهور مثل هذه الرسائل سؤدي إلى تغير في الـ actvate وحدوث اشياء غير متوقعة . 

تم الرد عليه بواسطة (19,740 نقاط)
مختارة بواسطة
شكرا لك أخ سامر
للعلم ما فيش محتوي عربي أو اجنبي الا و دورت فيه
تحياتي
اهلا وسهلا.
ان شاء الله يكون هذا الجواب هو ما تبحث عنه.
واذا هو فهكذا يكون موقع easydelphi فيه شيء غير الموجود في المواقع الاجنبية  :) .
الله يقدرنا ويعيننا.
اهلا وسهلا بك مرة اخرى وشكرا لك
بالضبط هذا ما ابحث عنه
بالتوفيق

اسئلة متعلقة

+4 تصويتات
2 إجابة
+6 تصويتات
4 إجابة
سُئل يوليو 1، 2018 في تصنيف Delphi بواسطة amar34 | 109 مشاهدات
–1 تصويت
1 إجابة
سُئل أكتوبر 31، 2018 في تصنيف vcl بواسطة Khaled Randji (110 نقاط) | 174 مشاهدات
0 تصويتات
1 إجابة
سُئل منذ 6 أيام في تصنيف vcl بواسطة Saba (120 نقاط) | 13 مشاهدات
0 تصويتات
1 إجابة
سُئل فبراير 8 في تصنيف vcl بواسطة Amar Gozim (10,550 نقاط) | 22 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك
Comodo SSL

مرحبًا بك إلى EasyDelphi Q&A، حيث يمكنك طرح الأسئلة والحصول على الإجابة عليها من المستخدمين الآخرين.

لا يسمح بطلب او السؤال عن كراك او تفعيل او كسر او فك او اي شيء يخالف اتفاقيات الترخيص  مهما كان السبب ومهما كان البرنامج ونوعه. ولا حتى نشر روابط تحتوي على مثل هذه الاشياء لا في الاسئلة ولا في الاجابات ولا التعليقات . نهائيا

303 سؤال
507 إجابة
892 تعليق
206 مستخدم