ايران ويج

نسخه‌ی کامل: پیمایش پیکچر با حرکت دادنه یوزر کنترل خط
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام

برای اینکه وقتی یوزر کنترل رو حرکت میدیم ، پیکچر باکس هم اسکرول بشه چی کار باید کرد ؟

من کاری که انجام دادم اینه اومدم تو رویداد اه UserControl_MouseMove نوشتم.

Area_Tarsim.HScroll1.Value = X - sngPreLinePosXNEW

:SngPreLinePosXNEW
================
در واقع همون ایکس اه قبلیه یوزر کنترل رو با ایکس جدید که ماوس قرار گرفته از هم کم میکنیم ، میشه میزان فاصله ای که کنترلمون طی کرده .

بعدش این مقدار ( فاصله ) رو با مقدار فعلیه اسکرول افقیمون جمع میکنیم.
و به همین شکل واسه اسکرول عمودی ولی با Y ها و.........

================================================

ولی درست نمیشه ، چی کار باید کرد ؟

=================================================
سلام

تو وورد برای اینکه یه خط رو ترسیم کنیم ،از لاین استفاده میکنیم ، باید اول روی یه نقطه از صفحه کلیک کنیم و بعد ماوس رو بکشیم تا نقطه ی دلخواه (دوم ) تا خط رسم بشه اگه خط از محدوده ای که الان داریم توش ترسیم رو انجام میدیم بزنه بیرون ، صفحه اسکرول میشه. مثلا فرض کنید تو یه نقطه از صفحه مثلا بالا سمت راست کلیک کنیم -( مختصات اول تا انتهای صفحه پائین سمت چپ (مختصات دوم ) ماوس رو بکشیم و رها کنیم. اگر به اسکرول عمودی نگاه کنید میبینید که صفحه اسکرول میشه . منم میخوام همچین کاری رو روی یه پیکچر باکس ( صفحه مختصات ) + یوزر کنترل خط پیاده کنم نتونستم ، حالا میخوام از راهنمائی شما استفاده کنم .
ميشه پروژتونو بگذاريد اينجا؟
سلام

من برنامه رو اپ میکنم

مشکل :

نمیتونم روی یوزر کنترل کدو پیاده کنم .

نگاه کنید (بی زحمت)

===================================

توضیح mouse down , mouse up پیکچر باکس جواب میده

ولی من میخوام با کشیدن یوزر کنترل پیکچر باکس اسکرول بشه.

یه نگاهی به کد های mouse down , mouse up پیکچر باکس بندازین.
سلام
خیلی بد توضیح می دی, اصلا اول باید بگی این قضیه رو برای چی می خوای, هنوز این روشن نشده رفتی سر اصل موضوع مشکل ... شاید اگر جریان رو از اول قشنگ تعریف کنی افراد بیشتری باشند که بتونند کمکت کنند.
خود من که یه 7 هشت باری خوندم و کد ها رو دیدم متوجه نشدم منظورت چی هست (البته حدس می زنم چی می خوای اما)

Fv925 نوشته است:...من میخوام با کشیدن یوزر کنترل پیکچر باکس اسکرول بشه...
پیکچر باکس اسکرول بشه یعنی چی؟ اصلا خودت یک بار این جمله رو بخون ببین چیز عجیبی هست یا نه. مثل این می مونه که بگی می خوام داخل کنترل تایمر متن تایپ کنم!!!!
اصلا پیکچر باکس چرا باید اسکرول بشه؟ اون اسکرول هایی که قرار دادی با تغییرشون چه اتفاقی باید بیافته . مثلا باید پیکچر باکس بالا بره, پایین بیاد یا روی فرم حرکت کنه؟!
اگر منظورت این هست که با تغییر مقادیر اسکرول ها یوزرکنترل (خط) داخل پیکچر باکس تغییر محل بده , خوب بده خودت که گفتی اسکرول افقی رو تغییر کرد مقدار X های خط رو تغییر بده , عمودی تغییر کرد Y ها رو!
یا بالعکس می خوای با تغییر محل خط اسکرول هات هم تغییر ارزش بدند (که فکر کنم منظورت همین هست) این هم مثل قبل با این تفاوت که خودت باید محدوده بیشینه Max و کمینه Min اسکرول هات رو محاسبه و جایگزین کنی...

در ضمن اون اشاره که به برنامه ام اس وورد کردی, در اونجا از روش های اصلی برای کار با اشیاء و ایجادشون و کار با میسیج ها استفاده می شه, شما برای اینکه بر محدودیت های وی بی رو قلبه کنید دارید از کلک مرغابی به نام یوزر کنترل استفاده می کنید, بنابراین توقع نداشته باشید برنامه که می نویسید مثل وورد باشه!
همون طور که گفتم شما باید محدوده کمینه و بیشینه اسکرول هاتون رو تغییر بدید
در زمان Zoom هست با توجه به اینکه اندازه ها داره در یک عدد مشخص ضرب می شه (یا بر یک عدد مشخص تقسیم می شه) هم باید اندازه کمینه و بیشینه اسکرول ها رو تغییر بدید.
در نهایت در زمان ذخیره تنظیمات اگر اندازه ها در حالت Zoom قرار دارند شما با تبدیل اون ها به مقدار واقعی شون همون مقدار واقعی اون ها رو ذخیره می کنید.
ولی در کل به این شکل هست, اگر قرار مختصات صفحه تقسیم در وضعیت Zoom مثلا در یک عدد ضرب بشه به طور کلی باید همه اندازه ها در همون عدد ضرب بشه تا نتایجی که از ترسیم به دست می آرید درست باشه