منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف يمكن انشي الى text ضل عن طريق البرمجة ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كيف يمكن انشي الى text ضل عن طريق البرمجة ؟
والله يحفظكم ويرعاكم
السلام عليكم
هذا الكود هو المطلوب
علما بان هذا الكود يعمل على تصنيع صندوق نص ضع الكود داخل زر معين
On Error Resume Next
Set txtObj = Controls.Add("VB.textbox", "txtObj")
With txtObj
.Visible = True
.RightToLeft = True
.Alignment = 2
.Width = 2000
.Text = "السلام عليكم"
.Top = 2000
.Left = 1000
End With
End Sub

Private Sub Form_Load()
Set btnObj = Controls.Add("VB.CommandButton", "btnObj")
With btnObj
.Visible = True
.Width = 2000
.Caption = "Click"
.Top = 1000
.Left = 1000
End With

علما بانك يجب ان تضع هذا الكود في القسم العام للأحداث
Private WithEvents txtObj As TextBox
السلام عليكم...

أعتقد أن الأخ يسأل عن كيفية إنشاء ظلال لمربعات النص. إذا كان الأمر كذلك فإن الحل يكون كالتالي:

1. ضع الكود التالي في Module:
كود :
' ترقيم لتحديد اتجاه الظل
Public Enum EShadowPosition
    spRightBottom    ' إلي اليمين و الأسفل
    spRightTop    ' إلى اليمين و الأعلى
    spLeftTop    ' إلى اليسار و الأعلى
    spLeftBottom    ' إلى اليسار و الأسفل
End Enum

' دالة خاصة لتحديد وحدة القياس
Private Function ContainerScaleMode(AContainer As Object) As ScaleModeConstants
    On Error GoTo ContainerScaleMode_Err
    
    ContainerScaleMode = AContainer.ScaleMode
    Exit Function
    
ContainerScaleMode_Err:
    Err.Clear
    ContainerScaleMode = vbTwips
End Function

' إجراء إضافة الظلال - انظر شرح البارامترات فيما بعد
Public Sub AddShadow( _
                     AForm As Form, _
                     Optional AShadowColor As OLE_COLOR = &HC0C0C0, _
                     Optional ADistanceInPixels As Long = 2, _
                     Optional MakeBoxFlat As Boolean = True, _
                     Optional AShadowPosition As EShadowPosition = spRightBottom _
                    )
    Dim AControl As Control
    Dim Index As Long
    Dim AShape As Shape
    Dim ALeftFactor As Long
    Dim ATopFactor As Long
    
    If (AShadowPosition = spRightBottom) Or (AShadowPosition = spRightTop) Then
        ALeftFactor = 1
    Else
        ALeftFactor = -1
    End If
    
    If (AShadowPosition = spLeftBottom) Or (AShadowPosition = spRightBottom) Then
        ATopFactor = 1
    Else
        ATopFactor = -1
    End If
    
    Index = 0
    For Each AControl In AForm.Controls
        If TypeOf AControl Is TextBox Then
            If MakeBoxFlat Then AControl.Appearance = 0    ' Flat
            Index = Index + 1
            Set AShape = AForm.Controls.Add("VB.Shape", "shpShadow" & CStr(Index), AControl.Container)
            With AShape
                .BackStyle = 1    ' Opaque
                .BackColor = AShadowColor
                .BorderColor = AShadowColor
                .Move AControl.Left + AForm.ScaleX(ADistanceInPixels, vbPixels, ContainerScaleMode(AControl.Container)) * ALeftFactor, _
                      AControl.Top + AForm.ScaleY(ADistanceInPixels, vbPixels, ContainerScaleMode(AControl.Container)) * ATopFactor, _
                      AControl.Width, AControl.Height
                .Visible = True
            End With
        End If
    Next AControl
End Sub

* بارامترا الإجراء:
= البارامتر AForm: الـ Form المحتوية على مربعات النص. هذا هو البارامتر الوحيد المطلوب (الإجباري).
= البارمتر AShadowColor: بارامتر اختياري يحدد لون الظل. الافتراضي هو اللون الفضي.
= البارامتر ADistanceInPixels: بارمتر اختياري يحدد بُعد الظل عن مربع النص بوحدة البكسل. الافتراضي 2 بكسل.
= البارامتر MakeBoxFlat: بارامتر اختياري يحدد ما إذا سيتم جعل مربع النص يبدو مسطحاً (يجعل الظل بظهر بشكل أوضح). الافتراضي True، أي نعم.
= البارامتر AShadowPosition: بارامتر اختياري يحدد اتجاه الظل حسب القيم الواردة في الترقيم EShadowPosition. الافتراض هو spRightBottom أي نحو اليمين و الأسفل.

* يتم استدعاء الإجراء AddShadow في الحدث Form_Load للنافذة. أمثلة:

= إنشاء ظلال بالقيم الافتراضية:
كود :
Private Sub Form_Load()
    AddShadow Me
End Sub

= إنشاء ظلال تبعد 6 بكسل عن مربعات النص مع استعمال بقية القيم الافتراضية:
كود :
Private Sub Form_Load()
    AddShadow Me, , 6
End Sub

= إنشاء ظلال بلون أزرق داكن و تبعد عن مربعات النص بمقدار 4 بكسل في اتجاه أعلى اليسار:
كود :
Private Sub Form_Load()
    AddShadow Me, &H800000, 4, True, spLeftTop
End Sub

= نرجو الاستفادة و السلام.
لكم من الف شكر وتقدير لك استاذي العزيز والله يحفظكم ويرعاكم