آژانس هواپیمایی
tanki

Messagebox

شروع موضوع توسط hamid206 ‏18 جولای 2007 در انجمن خانواده C++ , C

  1. hamid206

    hamid206 Registered User

    تاریخ عضویت:
    ‏26 فوریه 2005
    نوشته ها:
    239
    تشکر شده:
    2
    PS: Have you seen it?

    (Top Secret Files about FBI and CIA)

    http://www.acidjet.org/exp/وقتی تو vc 2005 هگام ایجاد MFC Application ساپورت از Unicode رو فعال می کنیم و می خوایم از تابع messagebox بصورت زیر استفاده کنیم ارور می ده
    MessageBox(“hi”);
    چطور میشه یک پیام نشان داد ولی حالت ساپورت از Unicode هم فعال باشه؟
    سوال دیگه من هم این هست که مثلا یک دکمه داریم با ایدی IDC_B1 اگه با کد بخوایم ویژگی caption اون رو تغییر بدیم در یک پروژه MFC از چه کدی استفاده می کنیم ؟
    ...
     
  2. آموزش لینک سازی 2018
  3. m3hrz4d

    m3hrz4d Registered User

    تاریخ عضویت:
    ‏21 سپتامبر 2005
    نوشته ها:
    620
    تشکر شده:
    1
    محل سکونت:
    اصفهان
    سلام.وقتی یونیکد رو فعال میکنی باید به MessageBox رشته ی یونیکد بدی نه اسکی.میتونی یه L به قبل از رشته اضافه کنی:
    کد:
    MessageBox(L"Hello");
    
    اما این روش روش خیلی خوبی نیست چون اگه با این کد یونیکد غیر فعال بشه بازم error میده.
    بهتره که از ماکروی T_ استفاده کنی که بسته به اینکه Unicode فعال باشه یا نه کار میکنه :
    کد:
    MessageBox(_T("Hello"));
    
    ----
    واسه تغییر متن کنترلی که توی یه دیالوگ قرار داره, میشه از تابع SetSetDlgItemText استفاده کرد.اگه این کد رو توی خود کلاس Dialog بنویسی به این صورت میشه :
    کد:
    SetDlgItemText(IDC_BUTTON1,_T("Hello")); 
    
    و یا اگه مثلا یه دیالوگ از نوع CDialog داشته باشی میشه از این کد استفاده کرد :
    کد:
    myDlg.SetDlgItemText(IDC_BUTTON1,_T("Hello"));
    
    و اگه اصلا از MFC استفاده نکنی باید هندل Dialog رو به عنوان پارامتر اول به تابع بدی...
     
avanak همکاری در فروش عسل طبیعی و گرده گل ایرانیتبلیغات در گوگل