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

نام تاپیک: close dialog

  1. #1

    close dialog

    vaghti ro dialog Esc ya Enter mizanam baste mishe chetori mishe jolosho gereft

  2. #2
    زدن Esc باعث ارسال فرمان IDCANCEL و زدن Enter باعث ارسال فرمان IDOK میشه. اگه از MFC استفاده کردید بطور پیش فرض کادر تبادلی بسته خواهد شد (استاندارد ویندوز هم همینه).
    مثلاْ توی OnOK و OnCancel یه چیزی شبیه این داریم:
    void CMyDialog::OnOK()
    {

    CDialog::OnOK();
    }

    void CMyDialog::OnCancel()
    {

    CDialog::OnCancel();
    }


    در هر دو مورد توابع کلاس پایه فراخوانی میشن که این توابع بعد از انجام یک سری کارها در انتها کادر تبادلی رو با EndDialog می بندند. با حذف اونها میشه جلو بسته شدن کادر تبادلی رو گرفت. (در مورد ریز کارهایی که این توابع انجام میدن به فایلهای منبع MFC مراجعه کنید):
    void CMyDialog::OnOK()
    {
    }

    void CMyDialog::OnCancel()
    {
    }


    حالا یه مشکل باقی می مونه. کادر تبادلی به هیچوجه بسته نمی شه. حتی اگه دکمه close رو بزنی. برای حلش پیغام WM_SYSCOMMAND رو اینجوری می نویسیم:
    void CMyDialog::OnSysCommand(UINT nID, LPARAM lParam)
    {

    if (nID == SC_CLOSE)
    {
    EndDialog(IDCANCEL);
    }
    else
    CDialog::OnSysCommand(nID, lParam);
    }

  3. #3

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

  1. غیر فعال کردن دکمه ی close فرم
    نوشته شده توسط ameysams در بخش VB.NET
    پاسخ: 18
    آخرین پست: چهارشنبه 25 خرداد 1390, 12:33 عصر
  2. دکمه Close
    نوشته شده توسط sunboy در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: پنج شنبه 18 مهر 1387, 19:02 عصر
  3. dialog bar
    نوشته شده توسط marvel در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: شنبه 07 بهمن 1385, 08:26 صبح
  4. فارسی کردن Dialog های استاندارد
    نوشته شده توسط Amir Taghavi در بخش VB.NET
    پاسخ: 5
    آخرین پست: جمعه 24 آذر 1385, 04:49 صبح
  5. dialog فارسی
    نوشته شده توسط mina_at2000 در بخش VB.NET
    پاسخ: 1
    آخرین پست: جمعه 17 آذر 1385, 23:06 عصر

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

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