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

نام تاپیک: درخواست توضیح تابع WndProc

  1. #1

    درخواست توضیح تابع WndProc

    با سلام.
    این کد رو بینید:

    LRESULTCALLBACK WndProc(HWNDhwnd, UINTmessage, WPARAMwParam, LPARAMlParam)
    {
    switch(message)
    {
    caseWM_CHAR:
    {
    if(wParam==VK_ESCAPE)
    SendMessage(hwnd,WM_CLOSE,0,0);
    return 0;
    }
    caseWM_PAINT:
    {
    PAINTSTRUCT ps;
    HDC hDC;
    char szBuffer[]="1111111111111";
    hDC=BeginPaint(
    hwnd,&ps);
    TextOut(hDC,50,50,(LPCWSTR)szBuffer,strlen(szBuffer));
    EndPaint(
    hwnd,&ps);
    return 0;
    }
    caseWM_DESTROY:
    {
    PostQuitMessage(0);
    return 0;
    }
    }
    returnDefWindowProc (hwnd, message, wParam, lParam);
    }

    چند تا سوال داشتم:
    1-
    WM_PAINT برای چه کاریه ؟من نمی فهمم.
    به جز این 3 تا case ممکن هست که case های دیگه یی هم وجود داشته باشه؟
    اگه آره آدرس بدین.
    2-این قسمت رو هم متوجه نمیشم:
    returnDefWindowProc (hwnd, message, wParam, lParam);

    3- این قسمت چه کاری رو انجام میده:
    PostQuitMessage(0);
    ؟
    4- این قسمت چه کاری رو انجام میده؟:
    EndPaint(hwnd,&ps);

    5-این قسمت رو هم بگین چه کاری رو انجام میده:
    SendMessage(hwnd,WM_CLOSE,0,0);

    ممنون میشم قسمت های بالا رو بگین چه کاری انجام میدن.
    تشکر.


  2. #2

    نقل قول: درخواست توضیح تابع WndProc

    می گن باید 24 ساعت برای پاسخ به هر پست منتظر بمونید
    من باید چند ساعت منتظر بمونم تا کسی بیاد جوابمو بده.
    حرف نا حق دارم میزنم؟
    اگر واقعا این بخش تعطیله! خوب درش بزنید اینجا تعطیل است تا ملت الاف نشن.
    غیر از اینه!

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1388
    پست
    45

    نقل قول: درخواست توضیح تابع WndProc

    میگن باید ۲۴ ساعت ....
    هیچ بایدی وجود نداره !
    شما مگه کاره خاصی کردی که انتظار داری حتما کسی جوابتو بده .
    دلیل اصلیه اینم که کسی جواب نمیده اینه که تاحالا ۳۵۰۰ بار از این سوالا پرسیده شده . دیگه انقد همه جواب دادن خسته شدن از این چیزای تکراری .
    اینجا که مرکز پشتیبانی ++C نیست که همچین توقعی دارید !
    یکم زحمت بده خودت تو گوگل یا تو همین سایت جستجو کن .

  4. #4

    نقل قول: درخواست توضیح تابع WndProc

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

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1388
    پست
    45

    نقل قول: درخواست توضیح تابع WndProc

    همه ی پرسش هایی رو که پرسیدی توش واژه کلیدی داره .
    WM_PAINT
    DefWindowProc
    PostQuitMessage
    EndPaint
    SendMessage

    هرکدوم از اینها رو تو Google جستجو کنی کلی نیتجه میاد براش .
    توی MSDN هم همرو توضیح داده .

  6. #6

    نقل قول: درخواست توضیح تابع WndProc

    برای فهم اون تابع اول باید با مفهوم پیغام ها توی ویندوز آشنا باشی (و توابع مرتبط مثل SendMessage,PostQuitMessage, etc )

    در مرحله بعد خودت می فهمی که هر برنامه ای با پیغام هایی که بهش ارسال میشه خودشو مدیریت و اجرا میکنه. خب تعداد این پیغام ها خیلی زیاده ! و برنامه در برخی موارد با دریافت پیام خاصی باید کار خاصی انجام بده اینجاست که با اون تابع و اون Case چک میکنه ببینه چه پیغامی امده و در مقابلش باید چکار کنه !

    مثلا انجا که WM_PAINT رو چک کرده خواسته ببینه اگه این پیغام آمد بعش یه متنو نشون بده و همینطور الی آخر. (WM یک پیشوند برای پیغام هاست و شما خودت هم میتونی یک پیغام جدید بسازی)

    OK ??

    (به این سبک برنامه نویسی میگن Win32 کتاب و مقاله هم زیاد داره کمی در این مورد تحقیق کن ، چیز خوبیه.)

    شب خوش .
    آخرین ویرایش به وسیله بهروز عباسی : دوشنبه 27 آبان 1392 در 22:55 عصر
    Everything that has a beginning has an end. ... The End?



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

  1. سوال: درخواست توضیح در مورد تابع regex در سی شارپ
    نوشته شده توسط فاطمه_14 در بخش C#‎‎
    پاسخ: 5
    آخرین پست: پنج شنبه 17 اسفند 1391, 07:33 صبح
  2. درخواست توضیح فیلد Lookup یکبار برای همیشه!!!
    نوشته شده توسط kheyri در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 0
    آخرین پست: سه شنبه 09 اسفند 1384, 15:31 عصر
  3. درخواست توضیح با یک مثال در مورد استفاده از Dll ها
    نوشته شده توسط Hamid_PaK در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 6
    آخرین پست: سه شنبه 28 تیر 1384, 05:49 صبح
  4. درخواست توضیح راجع به یک پیفام
    نوشته شده توسط ar_monti@ در بخش VB.NET
    پاسخ: 0
    آخرین پست: سه شنبه 08 دی 1383, 11:24 صبح
  5. درخواست توضیح در مورد route print
    نوشته شده توسط SRG در بخش شبکه و Networking‌
    پاسخ: 4
    آخرین پست: پنج شنبه 05 آذر 1383, 13:01 عصر

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

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