PDA

View Full Version : ذره بین متحرک



M_P_1374
شنبه 30 خرداد 1388, 21:56 عصر
با این میتونین کلی از توابع رو یاد بگیرین خصوصا تابع StrechBLT خیلی کارآمده
پسورد: www.mps-v-basic.pib.ir

مهران رسا
یک شنبه 31 خرداد 1388, 16:05 عصر
سلام .

ممنون بابت کد نویسی و اینترفیس عالی برنامه .

تنها ایراد کار شما اینجاست که تابع مربوطه رو در تایمر فراخوانی می کنید . در این صورت تصویر ایجاد شده دارای لرزش هست . برای رفع این مشکل می تونید از رویداد Change یک Label استفاده کنید . و API رو با تغییرات موقعیتی مواس صدا بزنید .

:چشمک:

M_P_1374
یک شنبه 31 خرداد 1388, 18:00 عصر
ممنون از نظرتون
رویداد Change همیشه رخ نمیده و باید Label نوشتش تغییر کنه تا رخداد انجام بشه ولی تایمر هر لحظه اتفاق میفته
تقریبا با همه چیز امتحان کردم نشد
اگه میشد یه تابع ایجاد کرد که با حرکت موس در هر نقطه ای رویدادش انجام بشه دیگه مشکلی نبود

مهران رسا
دوشنبه 01 تیر 1388, 15:07 عصر
ممنون از نظرتون
رویداد Change همیشه رخ نمیده و باید Label نوشتش تغییر کنه تا رخداد انجام بشه ولی تایمر هر لحظه اتفاق میفته
تقریبا با همه چیز امتحان کردم نشد
اگه میشد یه تابع ایجاد کرد که با حرکت موس در هر نقطه ای رویدادش انجام بشه دیگه مشکلی نبود

مثل اینکه متوجه منظورم نشدید . شما باید مختصات مواس رو با استفاده از یک Timer به یک Label اختصاص بدین . در اینجا می تونید Interval رو بر روی 1 میلی ثانیه تنظیم کنید . بعد از اون هر بار که مواس رو حرکت میدین تابع GetCursorPos موقعیت فعلی مواس رو با استفاده از رویداد تایمر به برنامه بر می گردونه و شما خاصیت Caption کنترل Label رو برابر مختصات جدید مواس قرار می دید (X و Y) . در نهایت تابع StretchBlt رو در رویداد Change مربوطه فراخوانی می کنیم . تا از این طریق کاری کنیم که مجبور نباشه هر 1 ثانیه صدا زده بشه و فقط با تغییرات موقعیتی مواس عملیات Zoom رو انجام بده . دستور Picture1.Cls هم حذف می کنیم تا از پرش ناشی از پاک شدن کادر تصویر جلوگیری کنیم .


تغییرات مربوطه رو انجام دادم . می تونید مشاهده کنید . :چشمک:

SlowCode
یک شنبه 12 دی 1389, 00:45 صبح
دوست عزیز M_P_1374 برای اینکه تصویر پرپر نزنه:
picture1.Autoredraw=true

و اما M8SPY جان برنامه ی شما ناقص بود.