-
ارتباط با Activex
سلام
من یه فایل Activex ایجاد کردم و توش دوتا textbox دارم (text1 , text2) حالا میخوام وقتی اونو به پروژم اضافه میکنم ، بتونم متن اونارو با نوشتن کد تغییر بدم . مثلاً وقتی متنی رو تو Text3 روی فرمم نوشتم اونو منتقل کنه به text1 روی کنترل و متن text4 روی فرمم رو منتقل کنه به text2 روی کنترول
-
توی ActiveX یک Property به نام Text باید اضافه بشه --
بصورتی که برای Get بنویس:
کد:
Public Property Get Text(Index As Integer) As String
Text = TextBox(Index).Text
End Property
و برای Let بنویس:
کد:
Public Property Let Text(Index As Integer, ByVal New_Text As String)
TextBox(Index).Text() = New_Text
PropertyChanged "Text"
End Property
و برای UserControl_ReadProperties این رو اضافه کنین:
کد:
TextBox(Index).Text = PropBag.ReadProperty("Text", "DefaultText")
و برای UserControl_WriteProperties هم این رو:
کد:
Call PropBag.WriteProperty("Text", TextBox(Index).Text, "DefaultText")
***
لازم به ذکر است که TextBox ها باید بصورت آرایه ای و با نام TextBox باشند.
***
حالا برای تغییر محتویات آنها کافیست که (مثلا اگر نام ActiveX شما UserControl باشد):
مثال: برای تغییر متن جعبه متن دوم:
کد:
UserControl1.Text(1) = "s"
مثال: برای نمایش متن جعبه متن اول:
کد:
MsgBox UserControl1.Text(0)
به همین سادگی!
مشکلی داشتید مطرح کنید :11: