ساخت یک اکتیو ایکس
سلام مي خوام امروز با هم يه يوزر كنترل بسازيم يه ActiveX
اكتيوايكس چيه:اكتيوايكس يه سري شيئي هستند كه كاربرايي كه خلاق وبا استعداد هستند و به كنترل هاي خود وي بي قانع نيستند مي سازند
مثلآ كنترل كامند باتون رو يه نفر از يه سري عكس و ليبل ساخته.اگه پست من درباره كلاس رو خونده باشيد امروز كارتون يه خورده راحت تر مي شه
براي اينكه يه دفه وارد ساخت بك كنترل تمام اكتيو ايكس نشويم و گام به گام پيش بريم اول يه اكتيوايكس ساده مي سازيم
يه پروژه خالي ايجاد كنيد.از منوي پروژه گزينهAdd User Controlرو بزنيد و در كادر باز شده اوكي رو بزنيد
صفحه كه باز شده شبيه به يه فرم بدون منو هست.اونو كوچيك كنيد كه اندازه يه ليست بوكس بشه بعد يه كامند داخلش بزارين .اسم يوزر كنترل رو به اسم
دلخواهتون تغيير بدين تا در استفاده نام اون كنترل بشه مثلآ اسم Commandاسم مناسبيه
در قسمت كد يوزر كنترل كد هاي زير رو بنويسيد
Option Explicit
'----------تعريف رويداد-----------------
Public Event Click()'x
Public Event Move(Button As Integer,Shift As Integer,X as Single,Y As Single)'x
'--------اگر رويدادي به صورت محلي(Private)تعريف بشه توليد خطا مي كنه
Dim X1!,Y1!,Can As Boolean
'--------تعريف خاصيت(Property)براي فهم دقيق مراجعه شود به پست كلاس چيست
Public Property Let Width1(Value As Integer)'x
'-------Let يعني تعيين كردن اين خاصيت براي تعيين عرض از سوي كاربر مي باشد
If Value >100 then Command1.Width=Value
End Property
Public Property Get Width1() As Integer
'به شكل تعريف اين دو متتد از يك خاصيت توجه كنيد---Getبراي فرستادن مقدار عرض موجود به درخواست كاربر مي باشد
Width1=Command1.Width
End Property
اين خاصيت ها فعلآ در كد نويسي قابل دسترسي مي باشد نمايش آن در پنجره خصوصيات را بعدآ مي گم
Private Sub Command1_MouseDown(Button%,Shift%,X!,Y!)'x
X1=X:Y1=Y:can=True
End Sub
Private Sub Command1_Click()'x
'-------صدا زدن رويدادي كه ايجاد كرديم-------
RaiseEvent Click() 'x
End Sub
Private Sub Command1_MouseMove(Button%,Shift%,X!,Y!)'x
If can=true then call Command1.move((command1.Left+X)-X1,(Command1.Top+Y)-Y1)'x
'-------صدا زدن رويدادي كه ايجاد كرديم-------
RaiseEvent Move(Button,shift,X,Y) 'x
End sub
Private Sub Command1_MouseUp(Button%,Shift%,X!,Y!)'x
Can=False
End sub
Private Sub UserControl_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)'x
UserControl.BackColor = Ambient.BackColor
'-----Ambientيعني فرمي كه يوزر كنترل روي آن طراحي شده است
Command1.BackColor = Ambient.BackColor
End Sub
حالا تمام پنجره هاي مر بوط به يوزر كنترل راببنديد.فرم را باز كرده آيكوني كه در انتهاي ليست ابزار مشاهده مي كنيد يوزر كنترل طراحي شده ي شماست
حالا يك عدد از آن را روي فرم درج كنيد و به اندازه ي نصف فرم بزرگش كنيد.
در رويداد moveمريوط به يوزر كنترل كه بالا آن را تعريف كريم كد زير را بنويسيد
Me.Caption = UserControl1.Width1
UserControl1.Width1 = X + 100
حالا اگر تمام مراحل را درست انجام داده با شيد باتكان دادن ماوس روي دكمه سايز آن تغيير مي كند ومي توانيد با كشيدن و رها كردن موقعيتش را تغيير دهيد
براي بهتر شدن اين پروژه بايد روي آن كار كنيد .نظر بدين سوال بپرسين وباي