اذهب الي المحتوي
أوفيسنا

تحريك نموذج اكسس بالضغط على الماوس


kh-bakkar
إذهب إلى أفضل إجابة Solved by أبو إبراهيم الغامدي,

الردود الموصى بها

السلام عليكم اخوتي الاكارم
لدي سؤال لو سمحتم
لدي نموذج اكسس جعلت خصائصه كالتالي
نمط الحدود (لا)
اشرطة التمرير (لاهذا ولا ذاك)
مربع عنصر التحكم (لا)
زر الاغلاق (لا)
زر التكبير والتصغير(لا)
قابل للنقل (نعم)

لكن بهذه الخصائص لا يمكنني ازاحة النموذج بالماوس في اي اتجاه اريد (يمين .. يسار .. اعلى .. اسفل)

سؤالي هل يوجد طريقة ما بالكود لجعل النموذج يتحرك باى اتجاه نريد بالضغط على زر الماوس؟ ؟

ارجو ان اكون قد وفقت في ايصال الفكرة

بحثت كثيرا ولم اجد طريقة ارجو المساعدة

رابط هذا التعليق
شارك

استاذ ابو محمد الله يعطيك العافية 

ظهرت لي مشكلة مع المثال المرفق لديك

مع العلم انني استخدم وندوز سفن 64 بت

وحولت المديول الى نظام 64 باضافة كلمة ptrsafe

لكن مازال يواجهني الخطأ 

مرفق صورة شكرا لك سلف

 

IMG_20210329_182004_228.jpg

رابط هذا التعليق
شارك

ليش كل هذا العمل ، كل اللي عليك عمله هو انك تغير هذه الاعدادات:

في ٢٨‏/٣‏/٢٠٢١ at 19:32, kh-bakkar said:

نمط الحدود (لا)

 

ولما تستخدم طريقة اخوي ابومحمد ، ففي الواقع اسهل لك ان تغير اعدادات النموذج والسلام 🙂

 

26 دقائق مضت, kh-bakkar said:

واجهتني ايضا مشكلة

انا اعطيتك الامر ، ويجب ان تدُخل الارقام لكي يعمل الامر ، وهذا مثال من برامجي (لا عليك من كل الكود ، فقط انظر للسطرين الاخيرين) ،

والافضل لك ان تبحث قليلا في مساعد الاكسس حتى تعرف الارقام التي يجب استعمالها ، والارقام هي بالـ Twips ، فاذا نظام الكمبيوتر عندك بالسنتيمتر ، تضرب الرقم في 567 ، واذا النظام بالبوصة فتضربه في 1440 :

Right = المسافة من طرف شاشة الاكسس ،  من اليسار ،

Down =المسافة من طرف شاشة الاكسس ،  من فوق ، 

Width = عرض النموذج ،

Height = ارتفاع النموذج

    'get the Form size
    H = Me.WindowHeight
    W = Me.WindowWidth
     

        '0 = metric
        t = 567


'    Open the Form
    DoCmd.OpenForm "frm_Items_DS", acFormDS
    Forms!frm_Items_DS.SetFocus
    DoCmd.GoToRecord , , acNewRec
    DoCmd.GoToControl "Receipt_Date"
    'select the Form
    DoCmd.SelectObject acForm, "frm_Items_DS", False
    
    DoCmd.Restore
    'DoCmd.MoveSize right, Down, Width, Height
    'DoCmd.MoveSize (t * 0.1), (t * 0.1), 18000, 13500
    DoCmd.MoveSize 1, 1, W - (W * 0.02), H - (H * 0.05)

 

جعفر

  • Like 2
  • Thanks 1
رابط هذا التعليق
شارك

  • أفضل إجابة

أهلا بكم..

لجعل الأمور أكثر سهولة ومرونة للمبتدئين.. 

الشفرة التالية تفي بالغرض!

Option Compare Database
Option Explicit
Dim xp As Single, yp As Single
'-- أخذ النقطة الأولية للفارة وإسنادها إلى متغير  عام
'-- بهذه االطريقة يمكن قبض النافذة من أي نقطة دون الشعور بعدم التركيز
Private Sub FormHeader_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   xp = X
   yp = Y
End Sub

Private Sub FormHeader_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Dim l, t
   If Button = acLeftButton Then
      l = Me.WindowLeft + X - xp
      t = Me.WindowTop + Y - yp
      Me.Move l, t
   End If
End Sub

أو هذه أيضا

'-- هذه الطريقة تتماشى مع سلوك المستخدم
'-- أغلب المستخدمين يقبض النافذة من المنتصف
'-- الشعور بعدم التركيز لا يكاد يلحظ
Private Sub FormHeader_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Dim l, t
   If Button = acLeftButton Then
      l = (Me.WindowLeft + X) -(Me.WindowWidth/2) 
      t = (Me.WindowTop + Y) - (Me.FormHeader.Height/2)
      Me.Move l, t
   End If
End Sub

 

Database1.accdb

  • Like 2
  • Thanks 4
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information