وعليك السلام ورحمة الله وبركاته , أهلا أخي عبدالعزيز , حاولت لكن دون فائدة أعتقد أن المشكلة أن أداة الـ Label تبدأ في تغيير لون النص من أعلى النص إلى أسفله وأعتقد ذلك ما يسبب ماتراه وكأنه أهتزاز , لذلك توجد أداة Label رائعة وهي تدعم خاصية قلب النص الموجود فيها بعدة درجات ومبرمجها عضو رائع من أعضاء هذا المنتدى , قمت بتجربة هذه الأداة على مثالك فكانت النتيجة رائعة على ما أعتقد , قمت بوضع ملف الأداة في مجلد المثال إنسخها في مجلد السيستم32 ثم سجلها قبل فلتح المثال .
وعليك السلام ورحمة الله وبركاته , أهلا أخي عبدالعزيز , غير خاصية الـ Script للخط المستخدم في الليبلات إلى العربيه أو إختر الخط الأول الموجود في مثالك الأصلي وأيضاً إفحص قيمة خاصية الـ Script له لابد أن تكون العربيه , كما في الصوره التاليه :
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك أخي الفاضل " أحمد منصور " على التّوضيح
معذرة ..صدّقني لم أجد هذه الخاصيّة .. لو سمحت فضلا لا أمرًا أين أجد السكريبت ؟؟
بارك الله فيك مرة أخرى مقدمًا و جزاك الله خير الجزاء
خالص تحياتي
11-04-16, 09:01 PM (آخر تعديل لهذه المشاركة : 11-04-16, 09:06 PM {2} بواسطة Ahmed_Mansoor.)
وعليك السلام ورحمة الله وبركاته , أهلا أخي عبدالعزيز , إذا لم تجدها في صندوق خصائص الخطوط , فقم بتغييرها بالكود حيث رقم اللغة العربيه هو 178 ضع كود تغيير اللغة في حدث الـ Form_Load للفورم بهذا الشكل :
أهلا أخي الحبيب ..
معذرة أتعبتك معي ..
طبقت سيّدي المحترم ما ذكرته لي بالضبط لكن للأسف لم تضبط معي و بقيت الكتابة تظهر بهذه الرموز الغريبة
بارك الله فيك و جزاك الله خير الجزاء على حسن المتابعة
فائق إحتراماتي
عندما يتطلب الأمر تغيير النصوص و الألوان و الرسومات على الشاشة بشكل متكرر فإن استعمال أوامر الرسوميات (Graphics) يعطي نتائج أفضل من استعمال المكونات مثل الـ Label و الـ Image لأن كل مكون يتم تحديثه على حدة ما يتسبب في ظهور الوميض (أو ما يعرف بالـ flicker) على الشاشة.
1. (مهم) اضبط الخاصية AutoRedraw للـ Form على True. هذا سيجعل كل أوامر الرسوميات توجه إلى صورة من سطح النافذة في الذاكرة (in-memory image) و هي صورة يستخدمها النظام Windows لتحديث صورة النافذة على الشاشة كلما لزم الأمر. ضبط الخاصية AutoRedraw على True سيمنع الوميض لأنه سيتم تحديث كل المناطق المتغيرة دفعة واحدة.
2. احتفظ بمكونات الـ Labels الثلاثة للاسترشاد بخصائصها في طباعة النصوص على الـ Form، مع ضبط الخصائص التالية للـ Labels الثلاثة:
أ. الخاصية AutoSize على True.
ب. الخاصية Visible على False (حتى لا تظهر أثناء التشغيل).
* اضبط مواقع الـ Labels حيث تريد ظهور النصوص.
3. اكتب الكود التالي في حدث الـ Timer بدل الكود السابق:
PHP كود :
Dim OldFont As StdFont ' للاحتفاظ بالخط الحالي للنافذة Dim OldColor As OLE_COLOR ' للاحتفاظ بلون النص الحالي للنافذة
Static Col1, Col2, Col3 As Integer Static c1, c2, C3 As Integer If (Col1 = 0 Or Col1 = 250) And (Col2 = 0 Or Col2 = 250) _ And (Col3 = 0 Or Col3 = 250) Then c1 = Int(Rnd * 3) c2 = Int(Rnd * 3) C3 = Int(Rnd * 3) End If If c2 = 1 And Col2 <> 0 Then Col2 = Col2 - 10 If C3 = 1 And Col3 <> 0 Then Col3 = Col3 - 10 If c1 = 1 And Col1 <> 0 Then Col1 = Col1 - 10 If c1 = 2 And Col1 <> 250 Then Col1 = Col1 + 10 If C3 = 2 And Col3 <> 250 Then Col3 = Col3 + 10 If c2 = 2 And Col2 <> 250 Then Col2 = Col2 + 10 ' الاحتفاظ باللون السابق ثم تغيير اللون OldColor = Me.ForeColor Me.ForeColor = RGB(Col1, Col2, Col3) ' الاحتفاظ بالخط السابق ثم تغيير الخط Set OldFont = Me.Font Set Me.Font = Label1.Font ' مسح الرسوميات السابقة من النافذة Me.Cls ' تحديد موقع النص الأول و طباعته Me.CurrentX = Label1.Left Me.CurrentY = Label1.Top Me.Print Label1.Caption ' تحديد موقع النص الصاني و طباعته Me.CurrentX = Label2.Left Me.CurrentY = Label2.Top Me.Print Label2.Caption ' تحديد موقع النص الثالث و طباعته Me.CurrentX = Label3.Left Me.CurrentY = Label3.Top Me.Print Label3.Caption ' استعادة الخط و اللون الأصليين للنافذة Set Me.Font = OldFont Me.ForeColor = OldColor