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

نام تاپیک: در مورد نحوه كار با ماوس (Override پیام WM_MOUSEMOVE)

  1. #1
    کاربر تازه وارد آواتار Jenab4372
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    مشهد
    سن
    41
    پست
    47

    در مورد نحوه كار با ماوس (Override پیام WM_MOUSEMOVE)

    سلام
    من در حال اجراي يك پروژه آزمايشي ديگر از روي كتابي هستم كه براي VS2006 ساخته شده است.
    در اين پروژه تمامي كنترولهاي روي پنجره كه به صورت MFC و Dialog Based هست رو پاك ميكنيد تا بتوانيد رويدادهاي ماوس رو به دام بيندازيد و يك برنامه نقاشي ساده طراحي كنيد ولي مشگل من اين است كه براي تابع حركت موس از جادوگر كلاس كه ديگر در اين نسخه موجود نيست استفاده شده و هرچه هم گشتم نتوانست معادل آن را پيدا كنم، متن كتاب را در زير مينويسم تا مرا راهنمائي كنيد.
    با تشكر.

    متن كتاب "آموزش ويژوال C++‎6 در 21 روز انتشارات نص فصل 2 كار با ماوس و كي بورد" :

    جادوگر كلاس را باز كنيد. پيام WM_MOUSEMOVE را انتخاب كرده و با كليك كردن دكمه Add Function يك تابع براي آن بسازيد. نام پيش فرض آن را هم قبول كنيد.
    با كليك كردن دكمه Edit Code ، تابع فوق را باز كرده و كد ليست زير را در آن بنويسيد.
    CMouseDlg::onMouseMove(UNIT nFlags, CPoint point)
    {
    if((nFlags & MK_LBUTTON) == MK_LBUTTON)
    {
    CClientDC dc(this);
    dc.SetPixel(point.x,point,y,RGB(0,0,0));
    }

    CDialog::OnMouseMove(nFlags, point);
    }

  2. #2

    نقل قول: در مورد نحوه كار با ماوس

    همین موضوع را امروز برای یکی دیگر از دوستان توضیح دادم که مجددا اینجا هم قرار می دهم:

    تعریف پیام ها یا Override کردن توابع:

    class view را باز کنید (از منوی view)، کلاس دیالوگ یا پنجره مورد نظر را در آن انتخاب کنید، در همین حال در پنجره properties دو آیکن بالای لیست ها ظاهر می شود.
    یکی با نام messages و یکی با نام overrides.

    - مثلا برای OnInitDialog در دریالوگ ها، overrides را انتخاب کنید و سپس آن را از لیست پیدا کنید و در فیلد جلوی آن Add را انتخاب کنید تا این تابع اضافه شود.

    - مثلا برای OnCreate در پنجره ها، messages را انتخاب کنید و سپس WM_CREATE را از لیست پیدا کنید و در فیلد جلوی آن Add را انتخاب کنید تا این تابع اضافه شود.
    - همین طور برای پیام WM_MOUSEMOVE از این لیست آخر.
    آخرین ویرایش به وسیله Nima_NF : جمعه 26 تیر 1388 در 12:36 عصر

  3. #3
    کاربر تازه وارد آواتار Jenab4372
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    مشهد
    سن
    41
    پست
    47

    نقل قول: در مورد نحوه كار با ماوس

    نقل قول نوشته شده توسط Nima_NF مشاهده تاپیک
    همین موضوع را امروز برای یکی دیگر از دوستان توضیح دادم که مجددا اینجا هم قرار می دهم:

    تعریف پیام ها یا Override کردن توابع:

    class view را باز کنید (از منوی view)، کلاس دیالوگ یا پنجره مورد نظر را در آن انتخاب کنید، در همین حال در پنجره properties دو آیکن بالای لیست ها ضاهر می شود.
    یکی با نام messages و یکی با نام overrides.

    - مثلا برای OnInitDialog در دریالوگ ها، overrides را انتخاب کنید و سپس آن را از لیست پیدا کنید و در فیلد جلوی آن Add را انتخاب کنید تا این تابع اضافه شود.

    - مثلا برای OnCreate در پنجره ها، messages را انتخاب کنید و سپس WM_CREATE را از لیست پیدا کنید و در فیلد جلوی آن Add را انتخاب کنید تا این تابع اضافه شود.
    - همین طور برای پیام WM_MOUSEMOVE از این لیست آخر.
    سلام
    اگر مي شود بيشتر توضيح بدهيد. اين عكس پروژه منه، ولي توي سربرگت كلاس از پنجره ويو اون چيزهايي كه شما گفتيد متوجه نشدم و نديدم، لطفا توضيحات كاملي براي يك تازه كار بفرماييد. متشكرم


  4. #4

    نقل قول: در مورد نحوه كار با ماوس (Override پیام WM_MOUSEMOVE)

    - برای override یا messeges به این ترتیب:
    1- نام کلاس دیالوگ مورد نظر را از class view انتخاب کنید (با موس highlight کنید)
    2- در پنچره properties آیکن override را انتخاب کنید (یا آیکن messages برای پیام ها)
    3- تابع یا پیام مورد نظر را از لیست انتخاب و در Combo box کنار آن گزینه add را انتخاب کنید.

    برای مثال به عکس زیر نگاه کنید (برای دیدن عکس بزرگ تر کلیک کنید):
    calassWizard.jpg


    - برای Control Events در مورد button و سایر کنترل ها (به ترتیب):
    1- نام کلاس دیالوگ مورد نظر را از class view انتخاب کنید (با موس highlight کنید)
    2- با موس در نمای طراحی دیالوگ کنترل مورد نظر را انتخاب کنید (مثلا دکمه OK را)
    2- در پنچره properties آیکن Control events را انتخاب کنید.
    3- تابع یا پیام مورد نظر را از لیست انتخاب و در Combo box کنار آن گزینه add را انتخاب کنید.

    برای مثال به عکس زیر نگاه کنید (برای دیدن عکس بزرگ تر کلیک کنید):
    calassWizard2.jpg
    موفق باشید

برچسب های این تاپیک

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

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