منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] سؤال خاص ب mdi form - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : [سؤال] سؤال خاص ب mdi form (/showthread.php?tid=1803)



سؤال خاص ب mdi form - aamalomari - 04-02-14

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

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

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



RE: سؤال خاص ب mdi form - ناجي إبراهيم - 04-02-14

السلام عليكم...

* إجابة السؤال الأول: توسيط 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

نرجو الاستفادة و السلام.


RE: سؤال خاص ب mdi form - AL_BRNS - 05-02-14

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

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

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


RE: سؤال خاص ب mdi form - ناجي إبراهيم - 06-02-14

السلام عليكم...

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

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

شكراً و السلام عليكم.