ویژوال بیسیک، کامپوننت OCX
دانلود برنامه ای که نوشتم و کاپوننت مربوطه که به نام TextRotationDX هست.
خب برای شروع یک فرم مثل فرم زیر طراحی کنین.( البته هر جور که خودتون دوست داشتین طراحی کنین )

مواد لازم:
سه عدد Command Button ، دو عدد Text Box ، چهار عدد Label ، یک عدد Combo Box ، یک عدد Common Dialog ، و یک عدد TextRotate . فضای فرم به مقدار لازم.
(برای وارد کردن Common Dialog به منوی Project>Components رفته و Microsoft Common Dialog Control 6.0 رو انتخاب میکنیم.
بعد از طراحی، اول از همه مقادیر پیش فرض مربوط به Combo box1 و Text2 که مربوط به سایز قلم میشه و Label ی که زیر Command "انتخاب قلم" هست رو وارد میکنیم.
برای Combo box مقادیر زیر رو وارد میکنیم.
Black – Blue – Gray – Green – Red – White – Yellow

برای Text2 مقدار دلخواه مثل 10
و برای Label زیر "انتخاب قلم" مقدار Arial رو به صورت پیش فرض وارد میکنیم.
خب حالا میریم سراغ کد نویسی.
اول از همه Command "خروج" ![]()
که همه بلدین :
Private Sub Command3_Click()
End
End Sub
حالا نوبت به کد Command "انتخاب قلم" میرسه.
Private Sub Command2_Click()
CommonDialog1.Flags = cdlCFBoth
CommonDialog1.ShowFont
Label4.Caption = CommonDialog1.FontName
End Sub
ما اینجا از Common Dialog استفاده کردیم تا خیلی راحت تر قلم هایی که توی ویندوز نصب شده رو انتخاب کنیم.
توی کد به قسمت Label4.Caption دقت کنید که هر وقت ما قلمی رو انتخاب میکنیم اسم اونو توی Label نشون میده در ادامه ما دو هدف از این کار رو دنبال میکنیم، یکی اینکه اسم قلمی که انتخاب کردیم رو ببینیم و دوم اینکه از Label برای نوع قلم کنترل TextRotate استفاده میکنیم.
خب بریم سر اصل مطلب یعنی کد مربوط به Command "Start"
قبل از کد نویسی، نحوه کد نویسی TextRotate به صورت زیر هست.
TextRotate1.BeginRotation Text1, Label4, Text2, Black
که توی کد بالا Text1 متنی هست که ما میخوایم اونو بچرخونیم ![]()
Label4 نوع قلم هست.
Text2 سایز قلم و Black رنگ پشت زمینه کنترل TextRotate هست که فقط رنگهای محدودی رو قبول میکنه یعنی همون رنگهایی که توی Combo Box گذاشتیم.
خب حالا کد کامل مربوط به Command "Start" رو مینویسیم.
Private Sub Command1_Click()
Dim A As String
A = Combo1.Text
If Command1.Caption = "Start" Then
If A = "Black" Then TextRotate1.BeginRotation Text1, Label4, Text2, Black
If A = "Blue" Then TextRotate1.BeginRotation Text1, Label4, Text2, Blue
If A = "Gray" Then TextRotate1.BeginRotation Text1, Label4, Text2, Gray
If A = "Green" Then TextRotate1.BeginRotation Text1, Label4, Text2, Green
If A = "Red" Then TextRotate1.BeginRotation Text1, Label4, Text2, Red
If A = "White" Then TextRotate1.BeginRotation Text1, Label4, Text2, White
If A = "Yellow" Then TextRotate1.BeginRotation Text1, Label4, Text2, Yellow
Command1.Caption = "Stop"
Else
TextRotate1.StopRotation
Command1.Caption = "Start"
End If
End Sub
من در این کد هم واسه زیبایی کار، Command "Start" رو به صورت Start/Stop درست کردم و هم به خاطر کد مربوط به قسمت Stop یعنی TextRotate1.StopRotation .
خب، این هم از برنامه و کامپوننت امروز. امیدوارم که استفاده کرده باشین.
سوال یا اشکالی داشتین نظر یادتون نره
تا پست بعد خدانگهدار.![]()