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

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

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

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

1 إجابة واحدة

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

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

تعتمد الفكرة على الحصول على رسالة 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 وحدوث اشياء غير متوقعة . 

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

اسئلة متعلقة

+5 تصويتات
4 إجابة
سُئل يوليو 1 في تصنيف Delphi بواسطة amar34 | 73 مشاهدات
+1 تصويت
2 إجابة
سُئل سبتمبر 3 في تصنيف vcl بواسطة َAbdallah (1,670 نقاط) | 50 مشاهدات
+1 تصويت
2 إجابة
سُئل أغسطس 14 في تصنيف vcl بواسطة Yamada Fakir (970 نقاط) | 55 مشاهدات
+2 تصويتات
1 إجابة
سُئل أغسطس 13 في تصنيف vcl بواسطة bravesofts (8,260 نقاط) | 42 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك

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

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

207 سؤال
391 إجابة
682 تعليق
118 مستخدم