• 0
خيبر

تحريك النص في الفيجول نت

سؤال

سؤال حول تحريك النص في شريط العنوان في الفورم من اليمين الى اليسار وبالعكس ؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

13 إجابة على هذا السؤال .

  • 0

توجد خاصية للفورم اسمها RightToLift

لو اخترت Yes سوف يكون النص من اليمين ولو اخترت No سيكون من اليسار

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكراً اخي على الرد لكن ليس هذا ماأريده

انا اريد تحريك النص بشكل مستمر من اليمين الى ان يصل الى اليسار ثم يرتد ويتحرك من اليسار الى اليمين وهكذا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تحريك النص على شريط العنوان ما هو إلا نتيجة تلاعب بعدد المسافات على يسار و/أو على يمين النص المراد تحريكه. مثلا, زيادة مسافة في أول النص تعطي الانطباع بأن النص قد تحرك إلى اليمين أو إلى اليسار حسب اتجاه الكتابة الحالي rtl أو ltr.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الفاضل خيبر

يمكنك تحريك النص من خلال هذا الكود

If Label1.Left = 300 Then
Label1.Left = 10
Else
Label1.Left = Label1.Left + 10
End If

مرفق مثال بناء علي طلبك

ولتحميل المزيد من الدروس المفيده في فيجوال بيسك يمكنك زيارة قسم الدروس علي موقعي الخاص المطور العربي

http://www.arabdev2010.com/V-BLessons.aspx

Move_Text.rar

تم تعديل بواسطه محمد فؤاد تركي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الاخ محمد رضى شكرا على الرد فعلا عندما بحثت رأيت اكواد تنطبق على ماقلته ولكن كان النص يتحرك في اتجاه واحد وانا اريده يبدأ بالحركة من اليمين الى اقصى اليسار ثم يرتد وتحرك من اليسار الى اليمين وهكذا

الاخ محمد فؤاد تركي شكرا لك ولكن الكود يعمل على تحريك الاداة وهذا لاينطبق على النص في شريط العنوان

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تبدأ بعدد من المسافات قبل النص حسب طول شريط العنوان و تستمر في إنقاص عددها مع كل حدث Tick للتايمر حتى تنتهي المسافات من النص ثم تقوم بزيادتها حتى العدد الأكبر الذي يبقى النص ظاهرا على شريط العنوان و هكذا دواليك....

'___________________________عنوان النافذة

___________________عنوان النافذة

___________عنوان النافذة

_____عنوان النافذة

'عنوان النافذة

_______عنوان النافذة

_____________عنوان النافذة

_________________عنوان النافذة

_______________________عنوان النافذة

__________________________عنوان النافذة

بالتوفيق :)

تم تعديل بواسطه محمد رضى
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

إبدأ مشروع جديد ثم أضف عليه أداة لافتة Label وأداة تايمر ثم اكتب هذا الكود :mad:


Public Class Form1

Dim reverseMoving As Boolean

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Timer1.Interval = 10
Me.Timer1.Enabled = True
End Sub

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If reverseMoving Then
Me.Label1.Left -= 1
If Label1.Left <= 0 Then
reverseMoving = False
End If
Else
Me.Label1.Left += 1
If (Label1.Left + Label1.Width) >= Me.Width Then
reverseMoving = True
End If
End If
End Sub
End Class

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الاخ Ghost2010 شكرا على الرد لكن ليس هذا ماأريده

الاخ محمد رضى شكرا لك فعلا هذا مااريده وقد تمكنت من ذلك باتباع تعليماتك وتقبلنى طالب مجد لديك

تم تعديل بواسطه خيبر
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
سؤال حول تحريك النص في شريط العنوان في الفورم من اليمين الى اليسار وبالعكس ؟؟

معذرة لم أنتبه أنك تريد تحريك عنوان الفورم :blink:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الفاضل

محمد مهدي

ممكن تضع لنا مثال لطريقة تحريك عنوان الفورم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تريدها بالطريقة السهلة أم الطريقة المعقدة؟ :wink:

الطريقة السهلة والمستخدمة هى الطريقة التى ذكرها أخى العزيز محمد رضى فى مشاركته


Public Class Form1

Dim originalText As String
Dim spaceCounter As Integer = 1
Dim reverseMoving As Boolean

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
originalText = Me.Text
Timer1.Interval = 50
Timer1.Enabled = True
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.Text = StrDup(spaceCounter, " ") & originalText
If Not reverseMoving Then
spaceCounter += 1
If spaceCounter = 35 Then
reverseMoving = True
End If
Else
spaceCounter -= 1
If spaceCounter = 0 Then
reverseMoving = False
End If
End If
End Sub
End Class

الطريقة الصعبة والمعقدة والقوية جدا هى عمل Subclassing على الرسالة WM_NCPAINT والقيام بعملية رسم شريط العنوان وحدود الفورم بنفسك وهذه الطريقة تمكنك من تغيير شريط عنوان النافذة بالكامل بالشكل الذى تريده كما تعمل أدوات الـSkins مثل Skin Crafter و Active Skin

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكراً جزيلاً لك أخي الفاضل محمد علي التوضيح والمثال الرائع

بالتوفيق للجميع

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله وبركاته

هذا 

كود برنامج صعير لتحريك الاداة وتحريك نص داخل اداة ............ تقبل الله منا ومنكم صالح الاعمال في رمضان

to_move_text.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .