المشاركات : 703
المواضيع 129
الإنتساب : Sep 2013
السمعة :
12
الشكر: 428
تم شكره 777 مرات في 196 مشاركات
[COLOR="#000000"]كيف لى أن أتحكم فى عرض الTEXT أو ال Label على قدر طول الكلام المكتوب فيه؟
كمايحدث مثلآ فى الACCESS عند الضغط فى أى جدول على (عرض العمود) ثم اختيار (الاحتواء أفضل)
فهل من كود أو أى طريقة لمثل ذلك تحكم لى عرض الTEXT أو ال Label على قدر طول الكلام المكتوب فيه؟
ولكم ألف شكر [/COLOR]
المشاركات : 120
المواضيع 18
الإنتساب : Sep 2013
السمعة :
5
الشكر: 89
تم شكره 282 مرات في 51 مشاركات
جرب هذا الكود
1-ضع واحد تكست بوكس
2-تايمر و اجعل interval=1
ثم ضع هذا الكود في التايمر
Dim a As Integer
a = Len(Text1.Text)
Text1.Width = a * 50
المشاركات : 703
المواضيع 129
الإنتساب : Sep 2013
السمعة :
12
الشكر: 428
تم شكره 777 مرات في 196 مشاركات
[COLOR="#000000"]قد عملت مثل هذا الكود من قبل
ولم يفلح هذا الكود بسبب أن أحرف الكتابة ليست كلها بعرض ثابت
وجرب الكود بنفسك مع text مكتوب بها مثلا عشرة أحرف
مرة كذلك"اااااااااا"
ومرةهكذا"كككككككككك"[/COLOR]
المشاركات : 372
المواضيع 15
الإنتساب : Sep 2013
السمعة :
28
الشكر: 487
تم شكره 1677 مرات في 187 مشاركات
السلام عليكم...
* ضع على الـ Form مكون PictureBox و اضبط الخاصية Visible له على False.
* اكتب الكود التالي:
كود :
Const MIN_TXT_WIDTH = 16 ' Pixels
Private Sub Form_Load()
Picture1.ScaleMode = Me.ScaleMode
Set Picture1.Font = Text1.Font
End Sub
Private Sub Text1_Change()
Dim TxtWidth As Single
If Text1.Text = "" Then
Text1.Width = Me.ScaleX(MIN_TXT_WIDTH, vbPixels, Me.ScaleMode)
Else
TxtWidth = Picture1.TextWidth(Text1.Text) + Me.ScaleX(6, vbPixels, Me.ScaleMode)
If TxtWidth < Me.ScaleX(MIN_TXT_WIDTH, vbPixels, Me.ScaleMode) Then
Text1.Width = Me.ScaleX(MIN_TXT_WIDTH, vbPixels, Me.ScaleMode)
Else
Text1.Width = TxtWidth
End If
End If
End Sub
نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
المشاركات : 2
المواضيع 0
الإنتساب : Oct 2012
السمعة :
0
الشكر: 0
تم شكره 0 مرات في 0 مشاركات
سلمت يداك اخ ناجي على الكود الاكثر من رائع:d وكمان الاخ اسلام على هذا السؤال