سلام
من میخوام وقتی ناحیه ی سلکت ایجاد میشه تمام خطوط (ترسیمی – زمان اجرا( یوزر کنترلها)
به اندازه ی مشخص بزرگ تر بشن.
ولی مشکل :
وقتی برنامه رو تریس میکنم میبینم مختصات خطوط ترسیمی –( ناحیه ی انتخاب) و خطوط ( یوزر کنترل)
به شکل اه زیره .
Usercontrol :
Linex1=8
Linex2=8
Liney1=40
Liney2=8
ناحیه ی انتخاب :
Downx=40
Myx=96
Downy=41
Myy=2
اصلا به هم ربطی ندارند ، یعنی یوزر کنترل در ناحیه انتخابی قرارا نداره پس چرا بزرگ تر میشه ؟
یعنی در واقع مشکل اینجاست که
X های یوزر کنترل و ناحیه ی انتخابی به این صورته .
8 -40 96
به همین خاطره که باید مشکلش رو رفع کنیم ، حالا چطوری ؟
اشکال از چیه ؟
راهنمائی هم کنید ممنون میشم.
سلام
دوستان نظری ندارین ؟
من دانلود کردم، ولی اصلاً نمی فهمم مشکلت چیه؟!!!!
سلام
شما یه بار خودتون x یوزر کنترل و خطوط ترسیم شده ( منظورم ناحیه ی
انتخابی-قرمز )رو ببینید ، یه بار نسبت به مبداء مختصات چکش کنید ببینید همه چیز x های یوزر کنترل درسته ؟
==================================================
درواقع میخوام :
- یه ناحیه رو انتخاب کنم
- بعدش زوم رو زدم هر چی تو اون ناحیه هست ، ابعادش دو برابر بشه
=================================================
در واقع یوزر کنترل رو هنوز حرکت ندادیم ، و اصلا تو یه ناحیه انتخابی
نیست ،
پس چرا zoom میشه ؟
سلام
مثله اینکه باید منصرف شد .
نه ! بهتره توضيح واضحتري ارائه بدي.
سلام
من معمولا برای اینکه بتونم تسلط بیشتری روی برنامه داشته باشم ، هر بخش رو تو یه پروژه جدید مینویسم . از دوستان معذرت میخوام .
---------------------------------------------------------------------------------------------------
مشکل :
اینکه من تو زمان طراحی یوزر کنترل رو به فرمم اضافه کردم. که مطمئنن x, y هاش بر اساس Scale ، پیکچر باکس نبوده .
---------------------------------------------------------------------------------------------------
رفع اه مشکل :
----------------------------
تعیین Scale ، برا ی پیکچر باکس.
کد:
Private Sub Form_Load()
Pb.Scale (-100, 100)-(100, -100)
End Sub
---------------------------------------------------------------------------------------------------
ایجاد یوزر کنترل :
کد:
Private Sub Create_line_click() Set
ComSavBmp = Controls.Add("vb.line", "ComSavBmp" & i, Pb) With ComSavBmp .visible = True
.X1 = -90
.Y1 = 90
.X2 = 30
.Y2 = 30
.BorderStyle = 3
.bordercolor = vbRed
i = i + 1
End With
End Sub

far_222000 نوشته است:من باز هم نفهمیدم!!!!
سلام
برای ترسیم تو پیکچر باکس ، باید براش Scale تعیین کرد.
در واقع با تعیین Scale ، اون پیکچر باکس حکم اه یه
صفحه مختصات پیدا
میکنه x های مثبت و منفی و y های مثبت و منفی .
----------------------------------------------------------------------------------------
حالا اگه من تو طراحی برنامه یوزر کنترل رو به فرمم اضافه کنم ، هنوز برای اه
پیکچر باکسم Scale تعیین نکردم ، یعنی پیکچر باکسمون به صورت یه صفحه ساده
هست یعنی دارای x,y منفی نیست.
------------------------------------------------------------------------------------------
پس مسلما ، یوزر کنترل اه من دیگه x, y هاش همه مثبت خواهد بود .
نه مثله خطوطی که در زمان اجرا با زدنه دکمه Draw ایجاد میشه تو پیکچر باکسی
که براش اسکیل گذاشتیم/ یا به اصطلاح به صورت اه صفحه مختصات تعریفش کردیم.
----------------------------------------------------------------------------------
توضيح دادن شما من رو ياد استاد متالورژي فيزيكي دانشگاهمون مي ندازه!
ببين مسئله رو به يه شكل ديگه حل مي كنيم. من تا اونجائي رو كه فهميدم مي خواي چي كار كني رو نوشتم. اينو ببين بگو ديگه چي كم داره.
[
attachment=1173]
سلام
مرسی از لطفتون ، اگر خودم ننویسم که میشه هلو برو تو گلو - اون موقع من خسته نباشم.
=======================================================
معذرت میخوام اگر خوب توضیح ندادم .
========================================================