نمایش نتایج 1 تا 12 از 12

نام تاپیک: handle کردن رویداد mouseMove خارج از فرم

  1. #1

    handle کردن رویداد mouseMove خارج از فرم

    من میخوام یه چیزی مثل رویداد mouseMove داشته باشم به طوری که اگه موس خارج از فرم یعنی هر جای صفحه دسکتاپ بود اتفاق بیفته

    در واقع من میخوام به حرکت موس در فضای صفحه عکس فضای دور موس را به قطر مثلا 100 بگیرم و در یه کنترل نشون بدم

    ببخشید که 2 تا سوال را در همین تاپیک مطرح کردم
    آخه چون به هم وابسته بودن گفتم شاید بهتره اینجوری بنویسم که زودتر به جواب برسم

    البته دوستان اکثر لینک هایی که در مورد capture بوده را در سایت های مختلف دیدم منجمله codeproject و ....
    ولی همچنان مشکل حل نشده
    ممنون

  2. #2
    به یاری خدا این یکی هم بدون جواب درست و حسابی موند

  3. #3
    کاربر دائمی آواتار ARA
    تاریخ عضویت
    آبان 1383
    محل زندگی
    Bad Sector
    پست
    448
    سلام
    من فکر کنم باید هوک کنی api hook تا بتونی به حرکت موس تو کل صفحه ویندوز دسترسی داشته باشی

  4. #4
    نقل قول نوشته شده توسط ARA مشاهده تاپیک
    سلام
    من فکر کنم باید هوک کنی api hook تا بتونی به حرکت موس تو کل صفحه ویندوز دسترسی داشته باشی
    از پاسخ کامل و جامعتون کمال تشکر را دارم

  5. #5
    با سلام
    اون چیزی که من به ذهنم میرسه می توانید یک تایمر یا یک Thread جداگانه ایجاد و در آن هر لحظه مقتصات موس را با کمک MousePosition به دست آورید حتی یک رویدادی خودتان می توانید ایجاد کنید که هنگامی که مقتصات موس با مقتصات آخرین باری که در تایمر یا Thread خوانده اید اگر تغییر کرده بود رخ بدهد.

  6. #6
    نقل قول نوشته شده توسط BeyondMicrosoft مشاهده تاپیک
    با سلام
    اون چیزی که من به ذهنم میرسه می توانید یک تایمر یا یک Thread جداگانه ایجاد و در آن هر لحظه مقتصات موس را با کمک MousePosition به دست آورید حتی یک رویدادی خودتان می توانید ایجاد کنید که هنگامی که مقتصات موس با مقتصات آخرین باری که در تایمر یا Thread خوانده اید اگر تغییر کرده بود رخ بدهد.
    روش خوبی نیست و مطمئن هم نیست
    روش مطمئن اینه که از WM استفاده بشه اما مشکل اینجاست که نمیدونم WM مربوط به mouseMove کدومه
    البته WM_MOUSEMOVE برای همین کار هست ولی مشکلش اینه که فقط رویداد mousemove زمانی که موس روی فرم است اتفاق میفته

    البته شاید همین باشه و من طریقه استفاده اونو نمیدونم
    من اونو (WM_MOUSEMOVE) را توی wndproc که ovveridesh کردم چک کردم
    ولی زمانی که موس خارج از فرم هست ودر حال حرکت است این Message به OS مثل اینکه send نمیشه

    شاید هم باید messaeg فوق را همراه با WM های دیگه ای به کار ببرم تا جواب بگیرم

    لطفا اگه کسی توی اینجور زمینه ها کار کرده کمک کنه
    ممنون

  7. #7
    نقل قول نوشته شده توسط ARA مشاهده تاپیک
    سلام
    من فکر کنم باید هوک کنی api hook تا بتونی به حرکت موس تو کل صفحه ویندوز دسترسی داشته باشی
    میشه یه نمونه کد بذارین؟

  8. #8
    دوستان خبری نیست ؟ یکی کمک کنه plz

  9. #9
    روش خوبی نیست و مطمئن هم نیست
    روش مطمئن اینه که از WM استفاده بشه اما مشکل اینجاست که نمیدونم WM مربوط به mouseMove کدومه
    البته WM_MOUSEMOVE برای همین کار هست ولی مشکلش اینه که فقط رویداد mousemove زمانی که موس روی فرم است اتفاق میفته
    این تنها روش موجوده که می تونه مشکل شما رو حل کنه.


    البته دوستان اکثر لینک هایی که در مورد capture بوده را در سایت های مختلف دیدم منجمله codeproject و ....
    این روش بیشتر زمانی به درد می خوره که بخواهید یک پنجره جهنده نمایش بدید. چون بعد از کلیک Message ها به برنامه شما ارسال نمی شوند.

  10. #10
    نقل قول نوشته شده توسط BlackDal مشاهده تاپیک
    این تنها روش موجوده که می تونه مشکل شما رو حل کنه.
    بله میدونم ولی چطوری ؟ این مهمه

    نقل قول نوشته شده توسط BlackDal مشاهده تاپیک

    این روش بیشتر زمانی به درد می خوره که بخواهید یک پنجره جهنده نمایش بدید. چون بعد از کلیک Message ها به برنامه شما ارسال نمی شوند.
    منظورتون از پنجره جهنده چیه؟میشه بیشتر توضیح بدین؟

  11. #11
    کاربر دائمی آواتار ARA
    تاریخ عضویت
    آبان 1383
    محل زندگی
    Bad Sector
    پست
    448
    http://www.codeproject.com/csharp/globalhook.asp

    این رو ببین زمانی که موس حرکت میکنه مختصات اون رو نشون میده

  12. #12
    نقل قول نوشته شده توسط gomnam مشاهده تاپیک
    روش خوبی نیست و مطمئن هم نیست
    روش مطمئن اینه که از WM استفاده بشه اما مشکل اینجاست که نمیدونم WM مربوط به mouseMove کدومه
    البته WM_MOUSEMOVE برای همین کار هست ولی مشکلش اینه که فقط رویداد mousemove زمانی که موس روی فرم است اتفاق میفته

    البته شاید همین باشه و من طریقه استفاده اونو نمیدونم
    من اونو (WM_MOUSEMOVE) را توی wndproc که ovveridesh کردم چک کردم
    ولی زمانی که موس خارج از فرم هست ودر حال حرکت است این Message به OS مثل اینکه send نمیشه

    شاید هم باید messaeg فوق را همراه با WM های دیگه ای به کار ببرم تا جواب بگیرم

    لطفا اگه کسی توی اینجور زمینه ها کار کرده کمک کنه
    ممنون

    سلام.
    جوابی که ARA دادن کاملا صحیح هستش، یعنی باید از Global Hook ها استفاده کنید. روشی که جنابعالی دارید توضیح میدین، کاملا نادرسته. WM_MOUSEMOVE هنگامی به یه پنجره ارسال میشه که Mouse روی پنجره به حرکت در بیاد. هنگامی که شما Window Proc رو override میکنید و پیام مزبور رو میگیرید، در واقع قبل از فراخوان شدن OnMouseMove روی فرم مورد نظر دارید پیام رو پردازش میکنید، پس تفاوتی نمیکنه که کد رو در OnMoseMove بنویسید یا WndProc رو override کنید و اونجا به WM_MOUSEMOVE پاسخ بدین.

    ضمنا، برای اینکه با نحوه کارکردن Hook ها آشنا بشید، به این مقاله رجوع کنید.

تاپیک های مشابه

  1. ( Event not(MouseMove
    نوشته شده توسط yashar666 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 4
    آخرین پست: پنج شنبه 24 خرداد 1386, 10:05 صبح
  2. تغییر ImageUrl در رویدادMouseMove
    نوشته شده توسط yavari در بخش ASP.NET Web Forms
    پاسخ: 8
    آخرین پست: سه شنبه 10 مرداد 1385, 11:27 صبح
  3. رویداد MOUSEMOVE یک BUTTON
    نوشته شده توسط setarehman در بخش ASP.NET Web Forms
    پاسخ: 16
    آخرین پست: سه شنبه 16 اسفند 1384, 21:30 عصر
  4. پاسخ: 6
    آخرین پست: یک شنبه 07 اسفند 1384, 00:27 صبح
  5. خاصیت mousemove در صفحات ASP.NET
    نوشته شده توسط javad3151 در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: جمعه 01 آبان 1383, 18:54 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •