تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] سؤال خاص ب mdi form
#1
السلام عليكم ورحمة الله وبركاته

لدي ثلاثة أسئلة :

١- كيف يمكن توسيط الفورم الابن داخل mdi form مع الأخذ بالاعتبار تغيير حجم الفورم ؟
٢- كيف يمكن تمديد صورة الخلفية داخل mdi form مع الأخذ بالاعتبار تغير حجم الفورم ؟
٣- كيف يمكن الحصول على ابعاد الشاشة الحالية وتغييرها وإعادتها للوضع الأصلي بعد إغلاق البرنامج ؟
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم...

* إجابة السؤال الأول: توسيط MDI Child داخل الـ MDI Form:

رغم أن نافذة الخصائص لا تظهر الخاصيتين ScaleWidth و ScaleHeight للنافذة MDI Form إلا أن كلاً من الخاصيتين موجودة كخاصية وقت التنفيذ (Run-time only property) أي يمكن استعمالها بالكود:

* تم تعديل و اختصار الكود بعد مشاهدة مشاركة الأخ AL_BRINS التالية - مشكوراً جداً.

كود :
' في قسم التصريحات العام

' إجراء لتوسيط النافذة الابن مع تمرير اسمها
Private Sub CenterMdiChild(AForm As Form)
    AForm.Move (Me.ScaleWidth - AForm.Width) / 2, (Me.ScaleHeight - AForm.Height) / 2
End Sub

' إجراء لتوسيط النافذة الابن النشطة
Private Sub CenterActiveMdiChild()
    If Not (Me.ActiveForm Is Nothing) Then
        CenterMdiChild Me.ActiveForm
    End If
End Sub

* جزء من السؤال الثالث:
يمكنك الحصول على عرض (Width) و ارتفاع (Height) الشاشة باستعمال خصائص الكائن Screen:

كود :
Dim WTwips As Siingle     ' العرض بوحدة التويب
Dim HTwips As Siingle      ' الارتفاع بوحدة التويب
Dim WPixels As Long        ' العرض بوحدة البكسل
Dim HPixels As Long         ' الارتفاع بوحدة البكسل

WTwips = Screen.Width
HTwips = Screen.Height

WPixels = Screen.Width \ Screen.TwipsPerPixelX
HPixels = Screen.Height \ Screen.TwipsPerPixelY

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}
#3
وعليكم السلام ورحمة الله وبركاته

بعد الشكر للاستاذ ناجي ابراهيم

هذا جواب السؤال الثاني


الملفات المرفقة
.rar   MDIForm_Resizebackground picture.rar (الحجم : 82.69 ك ب / التحميلات : 179)
الرد }}}
تم الشكر بواسطة: ناجي إبراهيم , Amir_Alzubidy
#4
السلام عليكم...

رائع جداً... ممتاز يا أخ AL_BRINS.

لم أنتبه إلى أن النافذة MDI Form تملك الخاصيتين ScaleWidth و ScaleHeight (لأنهما لا تظهران في نافذة الخصائص) إلا بعد الاطلاع على الكود الذي أرفقته.

شكراً و السلام عليكم.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}
تم الشكر بواسطة: AL_BRNS



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم