- السلام عليكم
- كما بالصورة في المرفقات , كيف يمكن تعطيل امر (Alt+F4) والتي تظهر عندما نقوم بالضغظ بزر الماوس الايمن على شريط المهام للبرنامج..!؟
- والسلام عليكم
- السلام عليكم
- كما بالصورة في المرفقات , كيف يمكن تعطيل امر (Alt+F4) والتي تظهر عندما نقوم بالضغظ بزر الماوس الايمن على شريط المهام للبرنامج..!؟
- والسلام عليكم
السلام عليكم...
يمكنك تعطيل الأمر في القائمة (حسب Windows XP) بالكود التالي، لكن ذلك لا يمنع إغلاق البرنامج باستعمال المفاتيح Alt+F4.
لتعطيل الأمر Close اكتب الكود التالي في الإجراء OnCreate للنافذة الرئيسية:
procedure TFRtlForm1.FormCreate(Sender: TObject);
var
hSysM: HMENU;
begin
hSysM := GetSystemMenu(Application.Handle, False);
ModifyMenu(hSysM, SC_CLOSE, MF_BYCOMMAND or MF_GRAYED, SC_CLOSE, 'Close');
end;ربما يحتاج الأمر إلى تعديل معالج الرسائل (Message Handler).
لكن هناك حيلة لتنفيذ الأمر:
قم بالتصريح عن متغير من النوع Boolean، مثلاً:
var
AllowClose: Boolean;في الإجراء OnCreate للنافذة الرئيسية أضف السطر التالي للسطرين السابقين:
AllowClose := False;
في الإجراء OnCloseQuery للنافذة الرئيسية اكتب السطر التالي:
CanClose := AllowClose;
يجب أن يكون لديك زر لإغلاق البرنامج، و يكون الكود فيه كالتالي:
AllowClose := True;
Close;أي يجب ضبط المتغير AllowClose على True للسماح بإغلاق النافذة الرئيسية، و بالتالي إغلاق البرنامج.
نرجو الاستفادة و السلام.
وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ
صدق الله العظيم
- بارك الله فيك على الشرح المفيد والبسيط .. زجزالك الله خيراً
- بالله لدي سؤال عن (CanClose := AllowClose;) هل ...CanClose .. متغير هنا ..؟
السلام عليكم...
CanClose هو بارامتر في إجراء الحدث OnCloseQuery لأي Form و هو بارامتر متغير var، أي يمكنك تغيير قيمته داخل الإجراء. قيمته الافتراضية هي True أي السماح بإغلاق النافذة. إذا غيرناه داخل الإجراء إلى False فإن النافذة ترفض أن تغلق.
procedure TFMDIWindow.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
غالباً ما نستخدم هذا الإجراء OnCloseQuery لتأكيد الخروج من البرنامج في النافذة الرئيسية: نعرض على المستخدم رسالة تأكيد خروج، و إذا أجاب بـ "لا" فإننا نضبط البارامتر CanClose على False فتبقى النافذة و لا تغلق.
نرجو الاستفادة و السلام.
وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ
صدق الله العظيم
يعطيك العافية ويجزيك كل خير
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…