برگزیده های پرشین تولز

Messagebox

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 از چه کدی استفاده می کنیم ؟
...
 

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 رو به عنوان پارامتر اول به تابع بدی...
 
بالا