الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكن إعادة توسيط النموذج بالكود

بدأه أبو يـــ KNDR ــارا في 18 ديسمبر 2010 · 7 رد · 1,557 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أخوتي الكرام نعلم انه يمكن توسيط النموذج على الشاشة باستخدام الخاصية توسيط في الخصائص وجعلها نعم

الفكر :

النموذج عن الفتح يظهر في وسط الشاشة ولكن يمكن تحريكه ... ولنفترض أن المستخدم قم بسحب النموذج يمين او يسار المهم اغير مكان النموذج

المطلوب :

زر في النموذج يقوم بأرجاع النموذج لوسط الشاشة .. وبالتالي لو سحب النموذج لجهة اليمين ثم ضغط على الزر يرجع النموذج لوسط الشاشة

ولكم مني جزيل الشكر

#2

و عليكم السلام اخي

قبل ان اشرح لك الحل

هناك خاصية في ال form تمع تحركه اصلا اسمها "Moveable"

فاذا و صعت قيمتها No.. فلا يمكن تحريك ال from

اما اذا اردت الجواب على سؤالك فيجب اتباع ما يلي:

1- انشئ Module جديد و ضع فيه الكود التالي و احفظه باي اسم تريد

' API declarations:
Private Declare Function apiGetClientRect Lib "user32" Alias "GetClientRect" (ByVal hwnd As Long, lpRect As typRect) As Long
Private Declare Function apiGetWindowRect Lib "user32" Alias "GetWindowRect" (ByVal hwnd As Long, lpRect As typRect) As Long
Private Declare Function apiSetWindowPos Lib "user32" Alias "SetWindowPos" (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
Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

' Type declarations:
Private Type typRect
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

' Constant declarations:
Private Const SW_RESTORE = 9
Private Const SWP_NOSIZE = &H1 ' Don't alter the size
Private Const SWP_NOZORDER = &H4 ' Don't change the Z-order
Private Const SWP_SHOWWINDOW = &H40 ' Display the window

' **************************************
' * Center a form in the Access window *
' **************************************
' Created 1-22-2002 by Peter M. Schroeder
Public Function gfncCenterForm(parForm As Form) As Boolean
    Dim varAccess As typRect, varForm As typRect
    Dim varX As Long, varY As Long

    On Error GoTo CenterForm_Error
    Call apiGetClientRect(hWndAccessApp, varAccess) ' Get the Access client area coordinate
    Call apiGetWindowRect(parForm.hwnd, varForm) ' Get the form window coordinates
    varX = CLng((varAccess.Left + varAccess.Right) / 2) - CLng((varForm.Right - varForm.Left) / 2) ' Calculate a new left for the form
    varY = CLng((varAccess.Top + varAccess.Bottom) / 2) - CLng((varForm.Bottom - varForm.Top) / 2) ' Calculate a new top for the form
    varY = varY - 45 ' Adjust top for true center
    varY = varY - 20 ' Adjust top for appearance
    Call apiShowWindow(parForm.hwnd, SW_RESTORE) ' Restore form window
    Call apiSetWindowPos(parForm.hwnd, 0, varX, varY, (varForm.Right - varForm.Left), (varForm.Bottom - varForm.Top), SWP_NOZORDER Or SWP_SHOWWINDOW Or SWP_NOSIZE) ' Set new form coordinates
    gfncCenterForm = True
    Exit Function

CenterForm_Error:
    gfncCenterForm = False
End Function

2- افتح ال form المراد توسيطه في وضع تصميم

3- انشئ زرا -اذا كنت تريد توسيسطه بعد الضغط على زر-

4- ضغ الامر التالي في الحدث On Click للزر

Call gfncCenterForm(Me)

بالتوفيق ان شاء الله

#3

اخي الحبيب اياد

في البداية اشكرك على هذا الكود الجميل

ولكن هذا الكود يحسب التوسيط بناء على شاشة الأكسس

وبالتالي اذا تم اخفاء شاشة الأكسس يعطيني موقع خاطأ للنموذج

وإليك مثال لعمل الكود

توسيط النموذج.rar

تم تعديل هذه المشاركة بواسطة أبو يـــ KNDR ــارا في 18 ديسمبر 2010 في 13:00

#4
أبو يـــ KNDR ــارا كتب:

اخي الحبيب اياد

في البداية اشكرك على هذا الكود الجميل

ولكن هذا الكود يحسب التوسيط بناء على شاشة الأكسس

وبالتالي اذا تم اخفاء شاشة الأكسس يعطيني موقع خاطأ للنموذج

وإليك مثال لعمل الكود

للرفع لهمية الكود مع فاق الاحترام

#5

للرفــــــــــــــــــع

#6

تفضل اخي

ملفك بعد التعديل

rrrrrrrrr...rar

1

نقول الى الغاليه

أم عهود زهرة الأكسيس بدون منافس

للنجاحات أناس يقدرون معناها ، وللإبداع أناس يحصدونه

لذا نقدّر جهودك وابداعك، فأنتِ أهل للشكر والتقدير ..

فلكِ منا كل الثناء والتقدير

#7

جزاكى الله كل خير أختى روان

+ 1

تمنياتى لكى وللجميع بالتوفيق

#8

بارك الله فيك

مواضيع مشابهة