١- كيف يمكن توسيط الفورم الابن داخل mdi form مع الأخذ بالاعتبار تغيير حجم الفورم ؟
٢- كيف يمكن تمديد صورة الخلفية داخل mdi form مع الأخذ بالاعتبار تغير حجم الفورم ؟
٣- كيف يمكن الحصول على ابعاد الشاشة الحالية وتغييرها وإعادتها للوضع الأصلي بعد إغلاق البرنامج ؟
* إجابة السؤال الأول: توسيط 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 ' الارتفاع بوحدة البكسل