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

دعوة للقضاء على مشكلة تناسب الفورم مع حجم الشاشة


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

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

ادام الله في اعمار اساتذة المنتدى وحفظهم الله من كل سوء

------------------------------------------------------------------

--------------------------------------

-------------

 

اساتذتي الاكارم

 

لقد بحث كثيرة في المنتدى للوصول الى طريقة مثلى او احترافية في جعل الفورم يتناسب مع حجم الشاشة بدون التاثير على تصميم الفورم  ولكني للاسف لم اجد

 

حيث وجدت ان اغلب الحلول كانت باستخدام هذا الكود

Me.Height = Application.Height
Me.Width = Application.Width

ولكن عيب هذة الكود ان يشوه تصميم الفورم حيث يحاذي تصميم الفورم الى اعلى اليسار

 

وبعد البحث وجدت كود اخر

With Application
        .WindowState = xlMaximized
        Zoom = Int(.Width / Me.Width * 100)
        Width = .Width
        Height = .Height
    End With

وعيب هذا الكود ايضا انة يكبر عناصر الفورم ويشوه التصميم

 

لذلك ارجوا من الاساتذة الافاضل

التكرم بطريق احترافية وفعالة

تحافظ على تصيم الفورم اثناء العرض

وايضا تجعل الفورم يتناسب مع اغلب الشاشات

 

 

وكلي امل في كرم عمالقة واساتذة المنتدى في الحصول على الجواب الشافي

 

 

 

 

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

السلام عليكم

 

جرب هذا الكود

 

انا استخدمه في اعمالي

يعمل على تناسب الزوم مع الطول او العرض ايهم الانسب


 

Private Sub UserForm_Initialize()
Dim Zo%
Dim ZH#, ZW#, AL#, AT#, AH#, AW#
Dim FH!, FW!
'===========================================
AH = Application.Height: AW = Application.Width
AL = Application.Left: AT = Application.Top
FH = Me.Height: FW = Me.Width
ZH = AH - FH: ZW = AW - FW: Zo = Me.Zoom
If ZH < ZW Then Zo = Zo * (AH / FH) Else If ZW < ZH Then Zo = Zo * (AW / FW)
'===========================================
With Me
    .Move AL, AT, AW, AH
    If Zo <> 100 Then .Zoom = Zo
End With
'===========================================
End Sub

 

في امان الله

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

السلام عليكم

 

جرب هذا الكود

 

انا استخدمه في اعمالي

يعمل على تناسب الزوم مع الطول او العرض ايهم الانسب

 

Private Sub UserForm_Initialize()
Dim Zo%
Dim ZH#, ZW#, AL#, AT#, AH#, AW#
Dim FH!, FW!
'===========================================
AH = Application.Height: AW = Application.Width
AL = Application.Left: AT = Application.Top
FH = Me.Height: FW = Me.Width
ZH = AH - FH: ZW = AW - FW: Zo = Me.Zoom
If ZH < ZW Then Zo = Zo * (AH / FH) Else If ZW < ZH Then Zo = Zo * (AW / FW)
'===========================================
With Me
    .Move AL, AT, AW, AH
    If Zo <> 100 Then .Zoom = Zo
End With
'===========================================
End Sub

 

في امان الله

بارك الله لك وزاد ف علمك وتبؤات من الجنة منزلا

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

السلام عليكم

الاستاذ القدير / عبدالله باقشير

 

بارك الله فيك

دائما سنظل نتعلم منك المزيد والزيد

زادك الله من علمه

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

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

السلام عليكم

بارك الله فيك استاذ عبدالله

ولكن لي طلب هو اني اعمل على شاشتي حاسوب

الاولى 1152/864

والثانية 1280/800

وعند تعديل الفورم على الشاشة الاولى اجد انة يطرا تغير على التصميم عند عرضة على الشاشة الثانية

 

هل توجد مقاسات معينة للفورم لكي يتكامل مع عمل الكود وذلك لكي يتلائم تصميم الفورم مع جميع المقاسات

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

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

السلام عليكم

اخي نور جزاك ربي خيرا واثابك بدعائك واعطاك بمثله اضعاف مضاعفة

اخي حمادة اسعدني مرورك جزاك الله خيرا

 

اخي محمد

الشاشتين بتاعك لا تتناسق في الزيادة

جرب الحل التالي

تعمل الفورم بمقاس 800*1150

بحيث انه يظهر في كل الشاشتين بكامل حجمه

وتصمم ما بداخله بما يتناسب مع هذا المقاس

 في البداية :استخدم الكود خاصتي

وشف النتيجة اذا ناسبتك كان بها

والا استخدم الكود :

Me.Height = Application.Height
Me.Width = Application.Width 

الذي سيغطي المساحات المتبقية من الشاشة

 

في امان الله

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

بسم الله الرحمن الرحيم

وبه نستعين

أخى العزيز الاستاذ / محمد عامر

نحيط علم سيادتكم أن الكود الواضح امامكم

بالمشاركة رقم 2 للقدير والمتألق الاستاذ / عبدالله باقشير

هو عين الصواب ومعظم السادة الزملاء يستخدمون هذا الكود لهذا الغرض

وفقنا الله واياكم وجزاكم الله خيرا

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

السلام عليكم

 

جرب هذا الكود

 

انا استخدمه في اعمالي

يعمل على تناسب الزوم مع الطول او العرض ايهم الانسب

 

Private Sub UserForm_Initialize()
Dim Zo%
Dim ZH#, ZW#, AL#, AT#, AH#, AW#
Dim FH!, FW!
'===========================================
AH = Application.Height: AW = Application.Width
AL = Application.Left: AT = Application.Top
FH = Me.Height: FW = Me.Width
ZH = AH - FH: ZW = AW - FW: Zo = Me.Zoom
If ZH < ZW Then Zo = Zo * (AH / FH) Else If ZW < ZH Then Zo = Zo * (AW / FW)
'===========================================
With Me
    .Move AL, AT, AW, AH
    If Zo <> 100 Then .Zoom = Zo
End With
'===========================================
End Sub

 

في امان الله

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

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

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