ورود

View Full Version : ساخت کامپونت در vb6



samiasoft
سه شنبه 12 آبان 1394, 21:18 عصر
سلام

فرض کنید ما دو تا UserControl داریم بنام UserControl 1 و UserControl2 .

داخل UserControl 1 من یک باتون قرار دادم. داخل UserControl2 هم یک تکست باکس.

حالا چطوری اینو داخل UserContro1 مقدار دهی کنم ؟

بدین صورت متاسفانه نمیشه !

UserControl2.Text1.Text = "hi"



در واقع من میخواستم بعد از خروجی گرفتن بصورت ocx وقتی کاربر اینو داخل پروژه اش استفاده میکنه دو ابجکت مستقل از هم رو که داخل فرم قرار میده با کلیک کردن روی باتون مقدار تکست باکسش تغییر کنه.

در ادرس زیر دستوراتی رو قرار داده اند ولی متاسفانه من متوجه نشدم:
http://www.vbforums.com/showthread.php?654811-UserControl-Issue

vbhamed
پنج شنبه 14 آبان 1394, 07:01 صبح
سلام
یوزر کنترل خودش یک شیء مستقل حساب میشه و خاصیتهایی که داره مخصوص خودشه نه اشیاء داخلش
برای اینکه به خاصیت اون اشیاء هم دسترسی داشته باشید باید براش تعریف بشه
تو ویژوال بیسیک از منوی Add-Ins گزینه Add-In Manager و سپس آیتم VB6 Activex Control Interfac wizard را علامت بزنید
سپس از همون منو این گزینه جدید که اضافه شده رو انتخاب کنید و کارش رو ببینید، می‌تونه خاصیتهای دلخواه رو به اکتیوایکس شما اضافه کنه و هر خاصیت رو به شیء دلخواه داخل اکتیوایکس ارتباط بده

samiasoft
پنج شنبه 14 آبان 1394, 10:40 صبح
با تشکر از توجه و راهنمایی شما...

من بدین صورت مراحل رو رفتم :

http://s3.picofile.com/file/8221054134/1.gif

136490
http://s3.picofile.com/file/8221055050/3.gif




http://s6.picofile.com/file/8221055484/4.gif

درواقع با انجام این موارد میخواستم در فرم که یک ریچ تکست باکس و یک کمبوباکس دارم وقتی اینا یک شی میشوند خاصیت text combo بهش اضافه کنم تا به مقدار تکست combo دست پیدا کنم.

اما متاسفانه بعد خروجی گرفتن به ocx دستور زیر اصلا کار نکرد. یه جایی از کارم فکر میکنم ناقص هست.


UserControl1.textcombo = "hi"

'یا

text1.Text = UserControl1.textcombo



در پنجره اخری هم که مقدار دیفالت رو اگر صفر قرار میدادم فقط همون صفر رو برمیگردونه.

samiasoft
پنج شنبه 14 آبان 1394, 11:18 صبح
همچنین یک بار هم در مرحله آخر در پنجره set attributes وقتی مقادیری رو انتخاب نکردم هنگام استفاده کامپونت در برنامه با خطای زیر مواجه شدم :




http://s3.picofile.com/file/8221063350/2015_11_05_120655.gif
ولی به همین صورت وقتی به جای کمبوباکس ...تکست باکس رو امتحان کردم به راحتی به اون چیزی که میخواستم رسیدم ولی چرا برای کمبوباکس اینطور میشه!:افسرده:

vbhamed
جمعه 15 آبان 1394, 08:51 صبح
سلام

این که تو پست آخر گفتید برای کمبوباکس نمیشه احتمالا دلیلش اینه که باید خاصیت Style کمبوباکس روی گزینه 0 - Dropdown Combo باشه وگرنه نمیشه متنش رو تغییر داد

اما برای اضافه کردن خاصیت در صورتی New Property می‌زنید که بخواهید خاصیت جدیدی اضافه کنید وگرنه از لیست خودش باید استفاده کنید
در زیر مراحل کار براتون نشون داده شده، خاصیت Style کمبوباکس رو هم روی 0 تنظیم کنید

136508
136509
136510
136511
136512
136513