PDA

View Full Version : سوال: پیدا کردن موقعیت مکانی موس بر روی فرم



MOR_MS
سه شنبه 19 آبان 1388, 13:11 عصر
با سلام و خسته نباشید
می خواستم ببینم چطوری می توان موقعیت مکانی موس را بر روی فرم در دو تکس باکس که یکی فاصله موس از چپ و یک فاصله موس از بالا را درج کرد :متفکر:
متشکرم

MOR_MS
چهارشنبه 20 آبان 1388, 15:52 عصر
سلام
کسی نیست به من کمک کند ؟
:گریه::گریه::گریه:

nabeel
چهارشنبه 20 آبان 1388, 21:39 عصر
سلام

در بخش Detail فرم و در رویداد On Mouse Move

Private Sub Detail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MsgBox "X=" & X & vbCrLf & "Y=" & Y
End Sub

البته در این مثال پیغامی به نمایش درمیاد ولی دو مقدار X و Y نمایانگر موقعیت فعلی ماوس هستند

موفق باشید

MOR_MS
چهارشنبه 20 آبان 1388, 22:24 عصر
با سلام و خسته نباشید
دست شما درد نکند می خواستم بپرسم ایا می شود مثلاً یک تکس باکس یا یک کلیدی که روی فرم قراردارد را حرکت داد مثلاً با استفاده از موس ان کشید و جابجاکرد؟:متعجب:

nabeel
چهارشنبه 20 آبان 1388, 22:57 عصر
سلام

نمیشه با این الگوریتم چیزی رو روی فرم حرکت داد ولی مثال زیر رو نگاه کنید حالا شاید فرجی شد و شد !!!!!

39698

موفق باشید , هم در زندگی و هم در مثال پیش رو !

MOR_MS
پنج شنبه 21 آبان 1388, 11:46 صبح
موفق باشید , هم در زندگی و هم در مثال پیش رو ![/quote]

با سلام
دست شما درد نکند متشکر من هم برای شما ارزوی موفقیت در تمام کار ها را دارم برای من مایع افتخار است که از طرف شما استادبزرگ مورد تقدیر قرارمی گیرم :خجالت:
یک سئوال دیگر درهمین مورد که ضمیمه ای هم کردم می خواستم ببینم آیا می شود تمام تغییات که داده می شود بر روی فرم ذخیره شود و دوباره سر جای اول بر نگیدد جسارتاً سئوال دیگر چطوری این حرکت نرم تر و بدون لرزش شود و تصاویر ها به محص رفتن موس بر روی انها انطوری تغیر مکان ندهد
متشکرم

MOR_MS
پنج شنبه 21 آبان 1388, 16:14 عصر
اگر ممکنه در فایل ضمیمه می خوام وقی ایکونهای روی فرم را جابجا کنم بعد از بسته شدن برنامه در مکان جدید ذخیره شود

nabeel
پنج شنبه 21 آبان 1388, 20:48 عصر
سلام MOR_MS

مثال اول قادر به اعمال خواسته شما نیست

در سئوال اولتون فقط در خصوص حرکت دادن بود و نه ذخیره سازی , اگه نیاز به ذخیره سازی دارید , خیلی از اولی پیچیده تره , چرا که در روش اول , شما با رفتن روی دکمه , موقعیت دکمه مجدداً تغییر میکنه , و در واقع موقعیت مکانی آخر ممکنه , موقعیت مد نظر شما نباشه .
در خصوص پرش , مثال اول جهت ارائه مثالی در خصوص اعمال حرکت بود , و تنها در حد یک سرگرمی

به مثال دو مراجعه کنید ( اگه آبجکت جدیدی خواستید اضافه کنید , کدها رو برای همون هم باید بنویسید )
در این مثال ذخیره سازی آخرین موقعیت در داخل رجیستری انجام شده

39724

موفق باشید

MOR_MS
پنج شنبه 21 آبان 1388, 22:54 عصر
با سلام و خسته نباشید
بسیار عالی بود اما در هنگامی که فرم ماکزیم هست دکمه در یک قسمت می ماند و تمام فرم را در حالت ماکزیمم نمی پیماید در واقه در همان محدوده فرم که در حالت دیزان خودش هست حرکت می کند خواستم ببینم ایا راهی هست که در حالت ماکزیمم درکل سطح فرم را حرکت کند

nabeel
جمعه 22 آبان 1388, 01:11 صبح
سلام
جهت حرکت در کل عرض تغییر زیر رو اعمال کنید
در بخش ماژولها و در داخل Sub M_DDR_MouseDown
paForm_Wi = paForm.Width رو به paForm_Wi = paForm.WindowWidth تغییر بدید
ولی در خصوص ارتفاع , این روتین از Section به عنوان راهنما استفاده میکنه , در رابطه با اون , در حال حاضر چیزی به ذهنم نمیرسه

MOR_MS
جمعه 22 آبان 1388, 21:41 عصر
با سلام و خسته نباشد
تغییری که گفتین انجام دادم و در طول و عرض فرم هیچ مشکلی ندارم فقط وقتی بجای دکمه button از امیج تصاویر یا چیز دیگر استفاده می کنم کار نمی کند حتا بعضی جا کد شمارا جسارتاً تغییر دادم ولی مشکلم بر طرف نشد اگر بشه کاری کرد که برای هر نوع ابجکت این کار را کرد خیلی خوب می شود
متشکرم

nabeel
شنبه 23 آبان 1388, 17:58 عصر
سلام MOR_MS
این کد اکثر آبجکتها رو جرکت میده , در خصوص تصویر , چون به صورت Container هستش , این کد جواب نمیده
و قاعدتاً چون وابسته به Event ها خاصی هست , در مورد آبجکتی که فاقد این Event ها بوده باشه هم نا کار آمد میشه .

شما دقیقاً میخواید چه کاری انجام بدید ؟ ( منظورم هدفتون از حرکت دادنن کنترلها هستش )

بفرمایید , شاید من مسیر رو دارم اشتباه نشون میدم و راه حل دیگه ای رو باید می رفتیم

موفق باشید

MOR_MS
شنبه 23 آبان 1388, 22:21 عصر
با سلام و خسته نباشد
من قصد دارم یک سری ایکون بر روی فرم اصلی که شبیه دسکتاپ ویندوز است قرار دهم که هم از لحاظ ظاهری زیبا باشد و هم اینکه قابل جابجایی و سئوالاتی ازاین قبیل که البته در تایپیکها گشتم ولی به موضوع قابل توجهی بر نخوردم شاید مشکل از جستجوی من باشد شاید سئولات من زیاد حرفهای نباشد خوب ماهم از برنامه فقط اسمش را بلادیم
یک سئوال در مرد منو یی که با کلیک کردن بر روی فرم ایجاد میشود دارم که توی تایپیکها دیدم ولی وقتی بر روی دکمه چپ موس کلیک می شود نمایش داده می شود ایا دتوری هست که با کلیک کردن بر روی دکمه راست موس نمایش داده شود:متفکر:

MOR_MS
چهارشنبه 27 آبان 1388, 08:19 صبح
شما دقیقاً میخواید چه کاری انجام بدید ؟ ( منظورم هدفتون از حرکت دادنن کنترلها هستش )

بفرمایید , شاید من مسیر رو دارم اشتباه نشون میدم و راه حل دیگه ای رو باید می رفتیم


سلام (F1):عصبانی++:

nabeel
چهارشنبه 27 آبان 1388, 11:50 صبح
سلام

بنا به درخواستتون كمكتون ميكنم وليكن در مجموع بنده از اين ايده خوشم نيومد ( به نظرم كاربردي نيست و شايد ارزش زحمتش رو نداشته باشه ) ، چهار چوب كلي اشاره شده در مثالها ( مثال قبلي و فعلي ) ، بخش آخر سئوالتون كه مرتبط با عنوان اصلي تاپيك نيست رو هم پوشش ميده ودر واقع تمامي موارد رو پوشش داده ، حركت ، ذخيره سازي و فراخواني .

39970

موفق باشيد

MOR_MS
چهارشنبه 27 آبان 1388, 15:50 عصر
سلام

بنا به درخواستتون كمكتون ميكنم وليكن در مجموع بنده از اين ايده خوشم نيومد ( به نظرم كاربردي نيست و شايد ارزش زحمتش رو نداشته باشه )

موفق باشيد
با سلام
ببخشید از اینکه شما را مجبور می کنم به کاری که باب میل شما نیست و خوب هرکس یک سلیغه ای داره من هم برای یادگیر و هم شاید بعضی قسمتهای ان بدرد دوستان بخوره از شما کمک می گیرم می توان گفت من یک واسته بین دانش شما و دیگران هستم تا سئوالی نشود جواب هم نیست امکان داره برنامه من که به کمک شما عزیزان درست می کنم جالب نباشد ولی شاید دیگران از این قسمتها برای کار های بزرگتری و جالب تری استفاده کنند
من بر نامه ام را تمام کردم واین فقط بیشتر برای جالب کردن یا نقش ولعاب دادن است برنامه ام فقط قسمت قفل گزاریش مانده که دارم از سایت شما اطلاعات می گیرم که حتماً مزاحم شما خواه شد
با تشکر از شما دوست عزیز اگر قابل بدانید
دست شما درد نکند:قلب::خجالت:

nabeel
چهارشنبه 27 آبان 1388, 16:23 عصر
سلام MOR_MS

شما اشتباه متوجه عرائض و توصيه بنده شديد

الزامي در پاسخ دهي از همون اول هم نبود ، دوست داشتم كمكتون كنم كه تا حدي كه زمانم اجازه ميداد دريغ نكردم و نخواهم كرد ( نه به خاطر اينكه ميخوايد توي وبلاگم مزاحمم بشيد !!! )

اگه قرار باشه توصيه بنده موجب ناراحتي شما و يا ساير دوستان بشه ، همون بهتر كه توصيه نكنم


آنان كه نتوانند از گذشته درس بياموزند ، محكوم به تكرار آنند

جرج سانتايانا

نگاهي به بخشهايي كه توي اين تاپيك (http://barnamenevis.org/forum/showthread.php?t=188738) نوشتم بندازيد ، برنامه نويسي همش مرتبط با برنامه نويسي نيست !

از شما عذر ميخوام - موفق باشيد

MOR_MS
چهارشنبه 27 آبان 1388, 21:58 عصر
سلام آقای nabeel عزیز
من قبلاً هم گریزی به این تایپیکها زده بودم در مجموع باید بگم بریم لذت خاصی در کار با کامپیوتر هست حالا چه بخوام دست و پاه شکسته برنامه بنویسم ویا کار های دیگر شاید در 24 ساعت بگم 10 ساعتی در پشت کامپیو تر هستم در کنار کارم هم با کامپیوتر کارهای برای خاطر خودم و لذتی که از کارم می برم هست هر چند در فکرم شایدایده ای بزرگی باشد که نتوانم به ان دست پیدا کنم ولی همین سعی کردن و تلاش و اینکه حداقل چیز تازه ای یاد بگیرم و یا شاید یک عضو کوچک برای تشویق دیگران که توانای دارند باشم نمی خوام از موضوع دور شوم
نمونه شمار دیدم بنظر من منظورم را نتوانستم برسانم در نمونه ای که قبلاً برایم درست کردید با تغییر مکان دکمه ذخیره مشود
- اول می خواستم بدونم بغیر از دکمه ها از امیج یا تصوی استفاده شود
- دوم تعدادشون زیاد باشه یعنی هر چند تا که بخواهیم
- سوم اینکه بعد از تغیر ذخیر شود و در مکان جدید خود باقی بماند که در نمونه قبلی وقتی من دوتا دکمه درست کردم بعد از بیرون امدن از برنامه و ورود دوباره هر دوی انها در یکجا روی هم بودند
ویک سئوال که در مورد کلید راست بود ، را در موضوع جدید مطرح می کنم
متشکرم نظرات شما همیشه منطقی و نشان از تجربه کاری شما را دارد که برای من خیلی جالب و مفید است

nabeel
چهارشنبه 27 آبان 1388, 22:47 عصر
سلام MOR_MS
به قطع اشتباه متوجه عرائض بنده شدید
ولیکن در خصوص سئوالها

بغیر از دکمه ها از امیج یا تصوی استفاده شود
در داخل مثال ارائه شده در پست شماره 15 , تصویر نبود ؟!

تعدادشون زیاد باشه
محدودیتی در خصوص تعداد وجود نداره , فقط برای هر آبجکت باید کد حرکتی خودش رو هم بنویسید ( در مثال اول دو تا آبجکت حرکت میکرد .

بعد از تغیر ذخیر شود و در مکان جدید خود باقی بماند
الگوی کلی در مثال موجود در پست شماره 8 ارائه شده بود , مسیر اختصاصی رو برای هر آبجکت در نظر بگیرید

در مورد کلید راست
در مثال موجود در تاپیک 15 این مورد توضیح داده شده
ببینید من کاری رو با دکمه سمت راست ماوس توی اون مثال انجام دادم , و اگه در مثال شما کاری رو که دکمه سمت چپ انجام میده , میخواید دکمه سمت راست انجام بده , از همین الگوی کلی استفاده کنید
...........................................

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

موفق باشید

MOR_MS
چهارشنبه 04 آذر 1388, 19:30 عصر
با سلام آقای نبیل عزیز
ببخشید دوباره مزاحم شما شدم
با راهنمایی های که کردید مشکلاتم درست شد ( البته 99%کار هارا خدتون انجام دادید)
من یک چیز های اضافه کردم البته بگم که این سئوالات با عنوان تایپیک نمی خونه ولی چون برای جواب دادن نیاز به اطلاعات مراحل گزشته است در اینجا مطرح میکنم من برای تغییر سایز و عوض کردن تصویر ابجکتهاو کارهای دیگری که روی انها می خوام انجام بدم. فرمی دیگری درست کرم که از طریق ان این تغیرات را می دهم ولی ذخیره نمی شود و راکاری هم پیدا نکردم خواهش می کنم کمکم کنید من یک نمونه ضمیمه گذاشتم اگر روی دوابجکت ایمج کلیک راست کنید فرم تغیرات باز می شود

nabeel
پنج شنبه 05 آذر 1388, 12:55 عصر
سلام
فایلتون رو دیدم , خوب روش مثل همون قبلیه
نام و مسیر فایل رو در داخل فرضا رجیستری ذخیره کنید و در هنگام Load اون رو فراخوانی کنید
در واقع شما از SaveSetting جهت ذخیره سازی و GetSetting جهت فراخوانی استفاده کنید
به طور مثال جهت ذخیره سازی در فرم تنظیمات ( تنظیم ارتفاع Image1 )
SaveSetting "cdcd", "cc", "Image1Height", Me.Text10
و جهت فراخوانی فرم اصلی
Me.Image1.Height = GetSetting("cdcd", "cc", "Image1Height")

دقت کنید جهت هر مشخصه شما باید مسیر معین و متفاوتی رو برای هر آبجکت و هر تنظیم تعیین کنید
شما قاعتاً تنها باید نام پارامتر سوم رو تغییر بدید
مثلاً برای عرض Image2 مینویسید
Me.Image2.Width = GetSetting("cdcd", "cc", "Image1Width")
موفق باشید

MOR_MS
شنبه 14 آذر 1388, 13:49 عصر
با سلام و خسته نباشید
اول عید شما مبارک
دوم اینکه یک مشکل برام پیش امده من برنامه ام را در دوکامپیوتر درست می کنم بخاطر همین وقتی در کامپیوتر اول تغیرات را اعمال می کنم وقتی برای ادامه به کامپیوتر اول انتقال می دهم بعضی تغیرات به حالت اول بر می گردد واین هم فکرنم بخاطر SaveSetting و GetSetting است که در دو کامپیوتر اعمال می شود ایا راهی دارد که بشود این خاصیت هارا خنثی کرد
متشکرم

nabeel
شنبه 14 آذر 1388, 14:06 عصر
سلام
شما داريد تغييرات رو توي رجيستري اعمال ميكيند ( ذخيره )
خوب توي كامپيوتر دوم هم بايد همين امر انجام بشه
قاعدتاً اگه برنامتون رو توسط يك Setup ساز بر روي كامپيوتر مقصد نصب ميكنيد ، تنظيمات اوليه و يا همون پيش گزيده رو بايد به واسطه برنامه Setup ساز به انجام برسونيد

موفق باشيد