اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

السلام عليكم

اريد ان يعمل البرنامج على جميع مقاسات الشاشات مع ملاحظة انى استخدم ويندوز 10 اوفيس 2019 64 بت 

عن طريق وحدة نمطية ثم استدعيها داخل النموذج المراد التطبيق عليه

جزاكم الله خيرا

قام بنشر

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

لو استخدمت خاصية البحث في المنتدى ، لكنت وجدت الكثير من المشاركات التي تناولت نفس الموضوع ، منها :-

 

 

 

 

 

 

 

 

 

قام بنشر

انا فعلا قمت بالبحث قبل عرض سؤالى ولكن لاحظت انها فعلا تقوم بالتكبير والحقول تكبر معها بححم كبير جدا وحضرتك ممكن تجرب وتشوف عيب كود الاخ صالح انه يكبر الحقول بشكل غير عادى فانا اريد التكبير بنفس حجم الحقول 

لك الشكر والتقدير وجزاك الله خيرا

 

قام بنشر

عن نفسي جربت الكثير من الدوال 

اكتشفت عند نقلها الى جهاز آخر تحدث بعض المشكلات الغير منطقية احيانا

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

وترفق صورة :

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

لأني حين افتحه عندي سيختلف مما هو عندك

اتمنى انك فهمتني :

هنا اخوانك سيحاولون التطبيق خاصة لمن لديهم اكثر من جهاز

والضبط اعتقد سيختلف من دقة صغيرة الى كبيرة أو العكس ( وهنا مربط الفرس .. وأصل المشكلات الحاصلة) )

بالنسبة لي عندي شاشتين على جهازين مختلفي الدقة والشاشات..  واحدة 32 بوصة وهي التي اعمل عليها والاخرى صغيرة كالمعتاد 18 بوصة

قام بنشر

اهلا ومرحبا باستاذنا ومعملنا القدير الاستاذ/ ابو خليل

4 ساعات مضت, ابوخليل said:

والضبط اعتقد سيختلف من دقة صغيرة الى كبيرة أو العكس ( وهنا مربط الفرس .. وأصل المشكلات الحاصلة) )

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

جزاك الله كل خير

قام بنشر

طيب اخي

جرب هذا المثال وجدته ضمن الملفات المحفوظة عندي

علما اني جربته على جهازين :

1024/867

1842/1048

والنتيجة ممتازة جدا

انا اتوقع 80% من المشاركات السابقة والامثلة فيها تعمل بشكل صحيح فقط يجب عدم استخدام   DoCmd.Maximize لأن المشكلة فيها جميعا من هذا الجانب 

ضبط النموذج على الشاشة.rar

قام بنشر

المرفق لا يصلح على نظام 64 بت كما انه ملئ بالو حدات النمطية الكثيرة وانا اريد وحدة نمطية واحدة فقط

وانى استغرب جدا ان المنتدى بهذه الخبرة الكبيرة والحلول لكل شئ  ولا يجد حل لهذه المشكلة ام ان الخبراء مشغولين عنا

الم يكون هناك وحدة نمطية واحدة تقوم بالمهمة على العموم انا دائما بتعبك معايا وانت خير مثال لمساعدتى دائما طال الله عمرك وجزاك كل خير

قام بنشر

وجدت هذا الموضوع ، إن كان يفيدك أيضاً ..

وهو تابع لموضوع سابق قمت بالإشارة إليه ..

قام بنشر

لم يمر عي افضل من دالة الأخ صالح

ولكن يمنع استخدام  DoCmd.Maximize  في النموذج لأن الدالة هي التي تقوم بالمهمة

لأنها لا تعتمد على دقة الشاشة .. وانما على مقاسات النموذج فقط

فعند تحميل النموذج تأخذ مقاسات النموذج الطبيعية التي تم تصميمها عليه

ثم يتم التكبير

بعد التكبير يتم اخذ مقاسات النموذج

ثم يتم قسمة مقاسات الأخير على مقاسات الأول من اجل اخراج معامل الفرق

هذا الفرق يضرب في ابعاد عناصر النموذج لتتوائم مع العرض الجديد

ملائمة النموذج حسب حجم الشاشة صالح حمادي.rar

قام بنشر (معدل)

السلام عليكم

انا جربت الكود على الشاشات التالية :

 800*600 

1024*768

1280*720

1280*768

1360*768

1920* 1080

 يعمل بصورة صحيجة عندي بعد ان قمت بتعديل حجم الخط  بالنسبة للقوائم المنسدله والحقول لتتلائم مع التكبير والتصغير

وهذا كود الاخ @صالح حمادي

Option Compare Database
Function salah(frm As Form)
Dim x, y, x1, y1 As Integer
Dim moyH, moyW As Double
Dim obj As Control
Dim str As String
x = frm.InsideHeight   'ارتفاع النموذج قبل التكبير
y = frm.InsideWidth ' عرض النموذج قبل التكبير
DoCmd.Maximize
x1 = frm.InsideHeight    'ارتفاع النموذج بعد التكبير
y1 = frm.InsideWidth   ' عرض النموذج بعد التكبير
moyH = x1 / x 'معامل الإرتفاع
moyW = y1 / y ' معامل العرض
For Each obj In frm.Controls
With obj
.Left = .Left * moyW
.Top = .Top * moyH
.Width = .Width * moyW
.Height = .Height * moyH
.FontSize = .FontSize * moyW
End With
Next
End Function

وهذا الكود بعدل التعدبل علية  من حيث جحم الخطوط 

Option Compare Database
Option Explicit
Function ResizeForm(frm As Form)
On Error GoTo ErrorHandler
Dim X As Long, Y As Long, x1 As Long, Y1 As Long
Dim moyH As Double, moyW As Double
Dim obj As Control
Dim maxFontSize As Integer
Dim newFontSize As Double
maxFontSize = 20 ' الحد الأقصى لحجم الخط
' أبعاد النموذج قبل التكبير
X = frm.InsideWidth    ' عرض النموذج قبل التكبير
Y = frm.InsideHeight   ' ارتفاع النموذج قبل التكبير
' تكبير النموذج
DoCmd.Maximize
' أبعاد النموذج بعد التكبير
x1 = frm.InsideWidth   ' عرض النموذج بعد التكبير
Y1 = frm.InsideHeight  ' ارتفاع النموذج بعد التكبير
' حساب معامل الارتفاع والعرض
moyH = Y1 / Y
moyW = x1 / X
' تعديل خصائص كل عنصر في النموذج
For Each obj In frm.Controls
With obj
' ضبط الموضع والحجم
.Left = .Left * moyW
.Top = .Top * moyH
.Width = .Width * moyW
.Height = .Height * moyH
' تعديل حجم الخط إذا كان العنصر يدعم ذلك
If .ControlType = acTextBox Or .ControlType = acLabel Or .ControlType = acCommandButton Or .ControlType = acComboBox Then
If Not IsNull(.FontSize) Then
newFontSize = .FontSize * moyH
If newFontSize > maxFontSize Then
.FontSize = maxFontSize
ElseIf newFontSize < 6 Then
.FontSize = 6 ' الحد الأدنى لحجم الخط
Else
.FontSize = newFontSize
End If
End If
End If
End With
Next obj
Exit Function
ErrorHandler:
MsgBox "حدث خطأ: " & Err.Description, vbCritical
End Function

وهذا الملف النهائي بعد التعديل

تحياتي

ملائمة النموذج حسب حجم الشاشة.accdb

تم تعديل بواسطه Ahmed_J
قام بنشر
12 دقائق مضت, Ahmed_J said:

 

وهذا الكود بعدل التعدبل علية  من حيث جحم الخطوط 

 

آها .. التعديل لك

عذرا كان المثال محفوظ عندي باسم الأخ صالح 😇

لم اكن متواجدا في النقاش عند طرح الموضوع .. او اني نسيت 😔

المهم في الموضوع هي الفكرة

  • Like 1
قام بنشر
4 ساعات مضت, الحلبي said:

المرفق لا يصلح على نظام 64 بت كما انه ملئ بالو حدات النمطية الكثيرة وانا اريد وحدة نمطية واحدة فقط

تم تعديل المرفق ليعمل على جميع الانوية 

 

 

 

ضبط النموذج على الشاشة.accdb

قام بنشر

كلا الامثلة لو وضعت فيه تكبير النموذج  DoCmd.Maximize لا يكبر النموذج وعدد الوحدات النمطية كثيرة 
اشكركم على تعبكم معى ويظهر ان لا فائدة من البرنامج يظهر على مقاسات الشاشة بنفس التنسيق

جزاكم الله خير

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