سؤال حول تحريك النص في شريط العنوان في الفورم من اليمين الى اليسار وبالعكس ؟؟
تحريك النص في الفيجول نت
توجد خاصية للفورم اسمها RightToLift
لو اخترت Yes سوف يكون النص من اليمين ولو اخترت No سيكون من اليسار
بالتوفيق
شكراً اخي على الرد لكن ليس هذا ماأريده
انا اريد تحريك النص بشكل مستمر من اليمين الى ان يصل الى اليسار ثم يرتد ويتحرك من اليسار الى اليمين وهكذا
تحريك النص على شريط العنوان ما هو إلا نتيجة تلاعب بعدد المسافات على يسار و/أو على يمين النص المراد تحريكه. مثلا, زيادة مسافة في أول النص تعطي الانطباع بأن النص قد تحرك إلى اليمين أو إلى اليسار حسب اتجاه الكتابة الحالي rtl أو ltr.
أخي الفاضل خيبر
يمكنك تحريك النص من خلال هذا الكود
If Label1.Left = 300 Then
Label1.Left = 10
Else
Label1.Left = Label1.Left + 10
End Ifمرفق مثال بناء علي طلبك
ولتحميل المزيد من الدروس المفيده في فيجوال بيسك يمكنك زيارة قسم الدروس علي موقعي الخاص المطور العربي
تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 22 يناير 2010 في 21:29


الاخ محمد رضى شكرا على الرد فعلا عندما بحثت رأيت اكواد تنطبق على ماقلته ولكن كان النص يتحرك في اتجاه واحد وانا اريده يبدأ بالحركة من اليمين الى اقصى اليسار ثم يرتد وتحرك من اليسار الى اليمين وهكذا
الاخ محمد فؤاد تركي شكرا لك ولكن الكود يعمل على تحريك الاداة وهذا لاينطبق على النص في شريط العنوان
تبدأ بعدد من المسافات قبل النص حسب طول شريط العنوان و تستمر في إنقاص عددها مع كل حدث Tick للتايمر حتى تنتهي المسافات من النص ثم تقوم بزيادتها حتى العدد الأكبر الذي يبقى النص ظاهرا على شريط العنوان و هكذا دواليك....
'___________________________عنوان النافذة
___________________عنوان النافذة
___________عنوان النافذة
_____عنوان النافذة
'عنوان النافذة
_______عنوان النافذة
_____________عنوان النافذة
_________________عنوان النافذة
_______________________عنوان النافذة
__________________________عنوان النافذة
بالتوفيق :)
تم تعديل هذه المشاركة بواسطة محمد رضى في 22 يناير 2010 في 23:14
إبدأ مشروع جديد ثم أضف عليه أداة لافتة 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إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال
الاخ Ghost2010 شكرا على الرد لكن ليس هذا ماأريده
الاخ محمد رضى شكرا لك فعلا هذا مااريده وقد تمكنت من ذلك باتباع تعليماتك وتقبلنى طالب مجد لديك
تم تعديل هذه المشاركة بواسطة خيبر في 23 يناير 2010 في 18:14
اقتباسسؤال حول تحريك النص في شريط العنوان في الفورم من اليمين الى اليسار وبالعكس ؟؟
معذرة لم أنتبه أنك تريد تحريك عنوان الفورم :blink:
إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال
تريدها بالطريقة السهلة أم الطريقة المعقدة؟ :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
إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال
السلام عليكم ورحمة الله وبركاته
هذا
كود برنامج صعير لتحريك الاداة وتحريك نص داخل اداة ............ تقبل الله منا ومنكم صالح الاعمال في رمضان