فاطمه وطن دوست
پنج شنبه 17 مرداد 1387, 13:15 عصر
سلام
براي اينکه بخوايم براي يوزر کنترل اسکيل بزاريم چطوري بايد عمل کرد ؟
وقتي تويه پيکچر باکس ( که بصورت ناحیه ی ترسیمی ) تبدیلش کردیم ( از طریق تعیین اسکیل ) یه سری ترسیمات انجام میدیم و بعد با زدن یه دکمه ( ADD LINE) بتونیم یه خط در زمان اجرا داخل پیکچر باکس اضافه کنیم.
نکته : خط ما همون یوزر کنترل است . که به این دلیل برای خطمون اومدیم یوزر کنترل طراحی کردیم که کاربر بتونه در زمان اجرا به صورت دستی خط اضافه کنه .
حالا چرا دستی ؟ چون با بزرگتر شدن ترسیمات کاربر برای دادن مختصات سردرگم میشه .
برای راحتی کاربر از یوزر کنترل خط استفاده شده است .
من با اضافه کردن خط و ترسیم خطوط هیچ مشکلی ندارم . تنها مشکلم در مورد زوم کردن خطوط ترسیمی ( توسط برنامه ، با دادن مقادیر ایکس و وای ) و ترسیم خطوط ( اضافه کردن یوزر کنترل خط ) توسط کاربر در زمان اجرا است .
تنها مشکل اینه که وقتی یوزر کنترل ( خط ) رو کاربر به محیط ترسیم اضافه میکنه و ان را رو روی یکی از خطوطی (ترسیم شده توسط کاربر ) که قبلا با دادنه ایکس و وای اونو ترسیم کردیم قرار میده . وقتی ایکس ها رو مقایسه میکنیم میبینیم که ایکس خطوطی که با دادن ایکس و وای ترسیم کردیم با ایکس یوزر کنترلی که روی خطوط گذاشتیم یکی نیست .
این هم دلیلش به خاطر اینه که پیکچر باکس دارای اسکیل هست در صورتیکه یوزر کنترل دارای اسکیل نیست .
من میخوام با زدن دکمه ی زوم ( بزرگ نمائی ) هم خطوط ترسیمی و هم یوزر کنترل بزرگتر بشن مثلا ایکس و وایشون خطوط ترسیمی توسط برنامه + 2 بشه ( 2 مقدار بزرگ نمائی هست ) . و x1,y1,x2,y2 یوزر کنترل + 2 بشن.
حالا مشکل چیه :
اینه که وقتی بزرگ نمائی انجام میشه ، خطوط ترسیمی توسط برنامه مقادیر ایکس و وایشون + 2 بشه و
X1,y1)) و (x2,y2) خطی که ماله یوزر کنترل هست + 2 بشن.
ولی بعد از اعمال بزرگ نمائی دیگه دقیقا روی هم قرار نگرفتن.
نکته : قبل از بزرگ نمائی دقیقا روی هم قرار دارن
حالا برای اینکه مشکل رو بهتر بگم یه مثال میزنم :
فرض کنید دو تا خط کش داریم الف و ب و هر رو 10 سانتی ان.
خط کش الف : هر 1 سانت برابر 5 میلی
خط کش ب : هر 1 سانت برابر 3 میلی
حالا اومدیم یوزرکنترل رو با خط کش الف ساختیم .
و پیکچر باکس رو با خط کش ب اندازشو تعیین کردیم.
در واقع وقتی میگیم عمل زوم روی یوزرکنترل و خطوط ترسیمی انجام بشه به این شکل عمل میشه .
X1,y1,x2,y2 (یوزر کنترل) + 1 واحد = ایکس و وای های یوزر کنترل به اندازه 5 تغییر میکنه ( زیاد میشه )
و
وقتی میگیم ترسیمات ( که توسط برنامه با دادن ایکس و وای ) ترسیم شدن + 1 واحد بشن
ایکس و وای به اندازه ی 3 میلی تغییر میکنن
در کل میخوام بگم واحد های یوزر کنترل و پیکچر باکس یکی باشه تا وقتی روشون عمل زوم انجام میشه به اندازه ی یه واحد مشخص ایکس و وایشون تغییر کنه .
من فقط میخوام این دو خط ابی حل بشه با دادن اسکیل واسه یوزر کنترل.
شاید خیلی ساده به نظر بیاد ، ولی من راه های مختلفی رو تست کردم و الآن اومدم تاپیک ایجاد کردم و مزاحم دوستان شدم ولی خوشحال میشم دوستان با نظرات کاملا حرفه ای
منو راهنمائی کنند . http://www.postsmile.com/img/emotions/228.gif
براي اينکه بخوايم براي يوزر کنترل اسکيل بزاريم چطوري بايد عمل کرد ؟
وقتي تويه پيکچر باکس ( که بصورت ناحیه ی ترسیمی ) تبدیلش کردیم ( از طریق تعیین اسکیل ) یه سری ترسیمات انجام میدیم و بعد با زدن یه دکمه ( ADD LINE) بتونیم یه خط در زمان اجرا داخل پیکچر باکس اضافه کنیم.
نکته : خط ما همون یوزر کنترل است . که به این دلیل برای خطمون اومدیم یوزر کنترل طراحی کردیم که کاربر بتونه در زمان اجرا به صورت دستی خط اضافه کنه .
حالا چرا دستی ؟ چون با بزرگتر شدن ترسیمات کاربر برای دادن مختصات سردرگم میشه .
برای راحتی کاربر از یوزر کنترل خط استفاده شده است .
من با اضافه کردن خط و ترسیم خطوط هیچ مشکلی ندارم . تنها مشکلم در مورد زوم کردن خطوط ترسیمی ( توسط برنامه ، با دادن مقادیر ایکس و وای ) و ترسیم خطوط ( اضافه کردن یوزر کنترل خط ) توسط کاربر در زمان اجرا است .
تنها مشکل اینه که وقتی یوزر کنترل ( خط ) رو کاربر به محیط ترسیم اضافه میکنه و ان را رو روی یکی از خطوطی (ترسیم شده توسط کاربر ) که قبلا با دادنه ایکس و وای اونو ترسیم کردیم قرار میده . وقتی ایکس ها رو مقایسه میکنیم میبینیم که ایکس خطوطی که با دادن ایکس و وای ترسیم کردیم با ایکس یوزر کنترلی که روی خطوط گذاشتیم یکی نیست .
این هم دلیلش به خاطر اینه که پیکچر باکس دارای اسکیل هست در صورتیکه یوزر کنترل دارای اسکیل نیست .
من میخوام با زدن دکمه ی زوم ( بزرگ نمائی ) هم خطوط ترسیمی و هم یوزر کنترل بزرگتر بشن مثلا ایکس و وایشون خطوط ترسیمی توسط برنامه + 2 بشه ( 2 مقدار بزرگ نمائی هست ) . و x1,y1,x2,y2 یوزر کنترل + 2 بشن.
حالا مشکل چیه :
اینه که وقتی بزرگ نمائی انجام میشه ، خطوط ترسیمی توسط برنامه مقادیر ایکس و وایشون + 2 بشه و
X1,y1)) و (x2,y2) خطی که ماله یوزر کنترل هست + 2 بشن.
ولی بعد از اعمال بزرگ نمائی دیگه دقیقا روی هم قرار نگرفتن.
نکته : قبل از بزرگ نمائی دقیقا روی هم قرار دارن
حالا برای اینکه مشکل رو بهتر بگم یه مثال میزنم :
فرض کنید دو تا خط کش داریم الف و ب و هر رو 10 سانتی ان.
خط کش الف : هر 1 سانت برابر 5 میلی
خط کش ب : هر 1 سانت برابر 3 میلی
حالا اومدیم یوزرکنترل رو با خط کش الف ساختیم .
و پیکچر باکس رو با خط کش ب اندازشو تعیین کردیم.
در واقع وقتی میگیم عمل زوم روی یوزرکنترل و خطوط ترسیمی انجام بشه به این شکل عمل میشه .
X1,y1,x2,y2 (یوزر کنترل) + 1 واحد = ایکس و وای های یوزر کنترل به اندازه 5 تغییر میکنه ( زیاد میشه )
و
وقتی میگیم ترسیمات ( که توسط برنامه با دادن ایکس و وای ) ترسیم شدن + 1 واحد بشن
ایکس و وای به اندازه ی 3 میلی تغییر میکنن
در کل میخوام بگم واحد های یوزر کنترل و پیکچر باکس یکی باشه تا وقتی روشون عمل زوم انجام میشه به اندازه ی یه واحد مشخص ایکس و وایشون تغییر کنه .
من فقط میخوام این دو خط ابی حل بشه با دادن اسکیل واسه یوزر کنترل.
شاید خیلی ساده به نظر بیاد ، ولی من راه های مختلفی رو تست کردم و الآن اومدم تاپیک ایجاد کردم و مزاحم دوستان شدم ولی خوشحال میشم دوستان با نظرات کاملا حرفه ای
منو راهنمائی کنند . http://www.postsmile.com/img/emotions/228.gif