• 0
hammamsana

اخفاء زر اغلاق اكسس (X) من الشاشة بالكود

سؤال

السلام عليكم ورحمة الله وبركاته

اخوتي الاعزاء ...

اثناء بحثي عن حل لهذه المسالة ... والتي تبدو في الظاهر بسيطة الا انها تسبب مشكلات كبيرة خاصة اذا كان المستخدمون ممن يفضلون دائما استخدام زر ال(X) الموجود في أعلى شاشة الاكسس للخروج

وتحدث هذه كثيرا ... بالرغم من وجود زر اغلاق في الشاشات ... وهذا احيانا قد يسبب توقف البرنامج او عدم تنفيذ امر معين. .

على العموم حتى لا اطيل عليكم ..

هذا مثال من موقع أجنبي لكود يوضع في الوحدة النمطية ويستدعي من النموذج .... عند التعامل مع الكود يجب استخدام الحدث المناسب ضمن اطار برنامجك حتى لا تتفاجأ باختفاء الزر نهائيا!

ملاحظات ...

بمجرد اغلاق القاعدة الحالية يعود كل شي لطبيعته

يجب ان تقوم بعمل زر به امر خروج نهائي من الاكسس حتى تتفادى اي اشكالات ...


Private Const GWL_EXSTYLE = (-20)
Private Const GWL_STYLE = (-16)

Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_SYSMENU = &H80000

Private Const HWND_TOP = 0
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const SWP_FRAMECHANGED = &H20
Private Const SWP_DRAWFRAME = SWP_FRAMECHANGED

Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hwnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As Long) _
As Long
Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function SetWindowPos Lib "user32" _
(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long

Sub HideAccessCloseButton()

Dim lngStyle As Long

lngStyle = GetWindowLong(hWndAccessApp, GWL_STYLE)
lngStyle = lngStyle And Not WS_SYSMENU
Call SetWindowLong(hWndAccessApp, GWL_STYLE, lngStyle)
Call SetWindowPos(hWndAccessApp, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE Or SWP_DRAWFRAME)

http://www.techonthe.../hide_close.php

للمزيد

وتحياتي للجميع ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

5 إجابة على هذا السؤال .

  • 0

مشرفنا الهمام ............... همام ابو عرقوب

بارك الله بك على المثال الرائع

لك منى كل تحية وتقدير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اشكرك ... بصراحة جربت الكود في 2007 و 2007 ويعمل بشكل جميل ...

اشكرك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

فكره جميله لعدم فقد البيانات شكرا لك اخي همام على المشاركه

بالمناسبه على الفكره الاجنبيه هل تستطيع ان تظيف لنا بعض المواقع الاجنبية التي تستفيد منها اخي همام

تقبل مرووري المتواضع

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكراً لك أستاذ همام ابوعرقوب و بارك الله بك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اشكرك عزيزي ..ولا يهمك ...لدي بالفعل قائمة رائعة من المواقع التي بها كود جميل

ساجمعها قدر الامكان واضع ما هو مناسب

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .