View Full Version : مشکل در ساخت اکتیوایکس
MMR_1344
یک شنبه 31 مرداد 1389, 16:24 عصر
با سلام
به تمامی دوستان من در حال ساخت یک فرم جدید از نوع اکتیوایکس هستم که با چند مشکل روبرو شدم
اولین مشکل جابجائی اکتیوایکس به مختصات صفر و صفر (گوشه فوقانی فرم اصلی) است این مشکل در صورت انتقال اکتیو ایکس به صفحه مورد نظر هست که نمیشه در هنگام فراخوانی اون رو در مختصات صفرو صفر قرارداد
دومین مشکل اینه که چرا ترسیمات فراخوانی شده در برنامه نمایش داده نمیشه یعنی من با دستورات UserContol.Line و UserControl.PSet میخوام شکلی رو بکشم که اون رو ترسیم نمیکنه
فایل خودم رو پیوست کردم
از همه دوستان سپاسگذارم
MMR_1344
دوشنبه 01 شهریور 1389, 17:14 عصر
با تشکر از محبت دوستان
من مشکل اولم رو حل کردم ولی مشکل دوم همچنان باقی است
متشکر میشم کمک کنید
MMR_1344
سه شنبه 02 شهریور 1389, 16:19 عصر
از دوستان خوبم میخوام به من کمک کنن
vbhamed
چهارشنبه 03 شهریور 1389, 23:57 عصر
سلام
خاصيت AutoRedraw كنترل رو True كنيد
returnx
پنج شنبه 04 شهریور 1389, 00:03 صبح
من هم چند وقت پیش مشکل دوم شما رو داشتم شما نباید از
UserControl.PSet استفاده کنید
فقط کافی از این کد استفاده کنید
Pset (x,y),color
یعنی شما لازم نیست نام Usercontrol رو فرا خوانی کنی.
MMR_1344
پنج شنبه 04 شهریور 1389, 22:21 عصر
دوستان خوب
از محبت شما سپاسگذارم ولی هر دو روش رو اجراء کردم باز هم نشد فایل خودم که اصلاح شده رو مجدداً ارسال میکنم
returnx
پنج شنبه 04 شهریور 1389, 23:59 عصر
من فایلی که گذاشته بودید رو دانلود کردم اما چیزی ازش نفهمیدم میشه یکم بیشتر در مورد Active X توضیح بدی؟
parselearn
جمعه 05 شهریور 1389, 02:02 صبح
دوست عزیز
شما نقطه هایی که برای کشیدن در نظر گرفته اید همه در یک نقطه (کوچکتر از 1 پیکسل) کشیده میشوند
کدتون رو مثلا به این تغییر بدهید، تا نتیجه را ببینید
DrawTitel 100, 100
---------------------------------------------------
PSet (X * 2, Y * 6), 16777211
PSet (X * 2, Y * 7), 14604497
MMR_1344
جمعه 05 شهریور 1389, 10:30 صبح
دوست خوبم جناب Parselearn
نقطهای که در نظر گرفته شده نقطه شروع ترسیم هست برای اون فرقی نمیکنه که این عدد چند باشه اگر ممکنه اون رو در برنامه اجراء کنید میبینید
به هر حال از لطفتون ممنون
دوست خوبم جناب ms2222
من در این اکتیو ایکس میخوام یک فرم جدید بسازم در اون قسمت DrawTitel ترسیمات تایتل فرمم هست که با مشکل عدم ترسیم روبرو شدمدر ضمن مشکل دیگه هم اینه که با توجه به اینکه دو دستور زیر رو در اون وارد کردم فرم جدید به مختصات 0و0 منتقل نمیشه
UserControl.Parent.Controls(UserControl.Ambient.Di splayName).Top = 0
UserControl.Parent.Controls(UserControl.Ambient.Di splayName).Left = 0
parselearn
جمعه 05 شهریور 1389, 11:20 صبح
اسکال مد تغییر بدید
یا اعدادی که + میکنید
چون اعداد به قدری کوچک هستند که خروجی خاصی ندارند
اگر دقت کنید
با مگنیفیر
یک نقطه کوچک گوشه بالا سمت چپ میبینید!!!
در ضمن من پروژه رو تغییر دادم و خروجی گرفتم و مشکلی نداره (فقط نقطه ها جابه جا شدند)
برای کشیدن نقطه ها هم بهتره از یک for و آرایه استفاده کنید
returnx
جمعه 05 شهریور 1389, 11:50 صبح
دوستمون Parselearn درست میگن نقطه ها خیلی کو چیک من Scale Mode رو که برابر Pixel گذاشتم نقطه مشخص شد شما هم با کد این کارو کردی اما یکجای کار شما مشکل داره
UserControl.Parent.ScaleMode = 3 شما از این کد استفاده کردید اما باید به صورت دستی بدون کد نویسی Scalemode برنامه رو به User تغییر بدی بعد اون کد که ScaleMode رو به Pixel تبدیل میکنه جواب میده.
MMR_1344
شنبه 06 شهریور 1389, 15:33 عصر
[دوستان متشکرم
اما دلیل اینکه
UserControl.Parent.ScaleMode = 3
این دستور در برنامه اجراء نمیشه چی میتونه باشه
MMR_1344
شنبه 06 شهریور 1389, 17:15 عصر
در ضمن
من اگر بخوام اکتیو ایکسم رو به مختصات 0و0 در صفحه ای که اون رو فراخوانی میکنم ببرم از چه دستوری میتونم استفاده کنم
returnx
یک شنبه 07 شهریور 1389, 11:17 صبح
[دوستان متشکرم
اما دلیل اینکه
این دستور در برنامه اجراء نمیشه چی میتونه باشه
این کد رو در رویداد Initialize بزار درست میشه:
UserControl.ScaleMode = 3
--------------------
در ضمن
من اگر بخوام اکتیو ایکسم رو به مختصات 0و0 در صفحه ای که اون رو فراخوانی میکنم ببرم از چه دستوری میتونم استفاده کنم
میتونی از این کد استفاده کنی:
Move 0, 0
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.