19-06-13, 09:23 AM
19-06-13, 10:39 PM
السلام عليكم
هذا الكود هو المطلوب
علما بان هذا الكود يعمل على تصنيع صندوق نص ضع الكود داخل زر معين
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
هذا الكود هو المطلوب
علما بان هذا الكود يعمل على تصنيع صندوق نص ضع الكود داخل زر معين
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
20-06-13, 02:34 AM
السلام عليكم...
أعتقد أن الأخ يسأل عن كيفية إنشاء ظلال لمربعات النص. إذا كان الأمر كذلك فإن الحل يكون كالتالي:
1. ضع الكود التالي في Module:
* بارامترا الإجراء:
= البارامتر AForm: الـ Form المحتوية على مربعات النص. هذا هو البارامتر الوحيد المطلوب (الإجباري).
= البارمتر AShadowColor: بارامتر اختياري يحدد لون الظل. الافتراضي هو اللون الفضي.
= البارامتر ADistanceInPixels: بارمتر اختياري يحدد بُعد الظل عن مربع النص بوحدة البكسل. الافتراضي 2 بكسل.
= البارامتر MakeBoxFlat: بارامتر اختياري يحدد ما إذا سيتم جعل مربع النص يبدو مسطحاً (يجعل الظل بظهر بشكل أوضح). الافتراضي True، أي نعم.
= البارامتر AShadowPosition: بارامتر اختياري يحدد اتجاه الظل حسب القيم الواردة في الترقيم EShadowPosition. الافتراض هو spRightBottom أي نحو اليمين و الأسفل.
* يتم استدعاء الإجراء AddShadow في الحدث Form_Load للنافذة. أمثلة:
= إنشاء ظلال بالقيم الافتراضية:
= إنشاء ظلال تبعد 6 بكسل عن مربعات النص مع استعمال بقية القيم الافتراضية:
= إنشاء ظلال بلون أزرق داكن و تبعد عن مربعات النص بمقدار 4 بكسل في اتجاه أعلى اليسار:
= نرجو الاستفادة و السلام.
أعتقد أن الأخ يسأل عن كيفية إنشاء ظلال لمربعات النص. إذا كان الأمر كذلك فإن الحل يكون كالتالي:
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= نرجو الاستفادة و السلام.
20-06-13, 01:51 PM
لكم من الف شكر وتقدير لك استاذي العزيز والله يحفظكم ويرعاكم