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

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

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

شكرا
سُئل في تصنيف vcl بواسطة (270 نقاط)
أعيد الوسم بواسطة | 36 مشاهدات
 
قائمة ابدأ في الويندوز ليست 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 وحدوث اشياء غير متوقعة . 

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

اسئلة متعلقة

+6 تصويتات
4 إجابة
سُئل يوليو 1 في تصنيف Delphi بواسطة amar34 | 100 مشاهدات
–1 تصويت
1 إجابة
سُئل أكتوبر 31 في تصنيف vcl بواسطة Khaled Randji (110 نقاط) | 48 مشاهدات
+1 تصويت
1 إجابة
سُئل منذ 5 أيام في تصنيف vcl بواسطة Amar Gozim (10,350 نقاط) | 51 مشاهدات
+2 تصويتات
2 إجابة
سُئل نوفمبر 7 في تصنيف vcl بواسطة Amar Gozim (10,350 نقاط) | 46 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك

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

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

268 سؤال
478 إجابة
838 تعليق
166 مستخدم