منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[vb6.0] كيف اجعل Command في جهة الايمين من 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)
+---- الموضوع : [vb6.0] كيف اجعل Command في جهة الايمين من Form في حال تضغير الفوم او تكبيره ؟؟ (/showthread.php?tid=3655)



كيف اجعل Command في جهة الايمين من Form في حال تضغير الفوم او تكبيره ؟؟ - Microformt - 17-08-14

الاخوه الكرام
السلام عليكم
كيف اجعل Command في جهة الايمين من Form في حال تضغير الفوم او تكبيره ؟؟
ملاحظه هامه
اريد ان تنطبق نفس الفكره على Label و text !!!
نامل من الله المساعده والله يحفظكم ويرعاكم


RE: كيف اجعل Command في جهة الايمين من Form في حال تضغير الفوم او تكبيره ؟؟ - vbnet - 17-08-14

.....

هذه طريقة بدون استخدام دوال API

منقول

موديول RightToLeftLayout
كود :
Option Explicit

Dim ctrls() As Control
Dim ctrlsLeft() As Integer

Public Sub FormLoad(frm As Form)
    ReDim ctrls(frm.controls.Count - 1) As Control
    ReDim ctrlsLeft(frm.controls.Count - 1) As Integer
    Dim i As Integer: For i = LBound(ctrls) To UBound(ctrls)
        Set ctrls(i) = frm.controls(i)
        ctrlsLeft(i) = frm.ScaleWidth - frm.controls(i).Left
    Next i
End Sub

Public Sub FormResize(frm As Form)
    If Not frm.WindowState = vbMinimized Then
        Dim i As Integer: For i = LBound(ctrls) To UBound(ctrls)
            If ctrls(i).Container Is frm Then ctrls(i).Left = frm.ScaleWidth - ctrlsLeft(i)
        Next i
    End If
End Sub

طريقة استخدامه في الفورم
كود :
Private Sub Form_Load()
    Call FormLoad(Me)
End Sub
Private Sub Form_Resize()
    Call FormResize(Me)
End Sub

.....


RE: كيف اجعل Command في جهة الايمين من Form في حال تضغير الفوم او تكبيره ؟؟ - Microformt - 17-08-14

(17-08-14, 09:24 PM)vbnet كتب : .....

هذه طريقة بدون استخدام دوال API

منقول

موديول RightToLeftLayout
كود :
Option Explicit

Dim ctrls() As Control
Dim ctrlsLeft() As Integer

Public Sub FormLoad(frm As Form)
    ReDim ctrls(frm.controls.Count - 1) As Control
    ReDim ctrlsLeft(frm.controls.Count - 1) As Integer
    Dim i As Integer: For i = LBound(ctrls) To UBound(ctrls)
        Set ctrls(i) = frm.controls(i)
        ctrlsLeft(i) = frm.ScaleWidth - frm.controls(i).Left
    Next i
End Sub

Public Sub FormResize(frm As Form)
    If Not frm.WindowState = vbMinimized Then
        Dim i As Integer: For i = LBound(ctrls) To UBound(ctrls)
            If ctrls(i).Container Is frm Then ctrls(i).Left = frm.ScaleWidth - ctrlsLeft(i)
        Next i
    End If
End Sub

طريقة استخدامه في الفورم
كود :
Private Sub Form_Load()
    Call FormLoad(Me)
End Sub
Private Sub Form_Resize()
    Call FormResize(Me)
End Sub

.....

---------------------------------------------------
اخي العزيز
السلام عليكم ورحمة وبركاته
لكم مني جزيريل الشكر والتقدير على ما تقدمه من دعم والله يحفظكم ويرعاكم