PDA

View Full Version : Messagebox



hamid206
چهارشنبه 27 تیر 1386, 10:11 صبح
وقتی تو vc 2005 هگام ایجاد MFC Application ساپورت از Unicode رو فعال می کنیم و می خوایم از تابع messagebox بصورت زیر استفاده کنیم ارور می ده


MessageBox(“hi”);


چطور میشه یک پیام نشان داد ولی حالت ساپورت از Unicode هم فعال باشه؟

سوال دیگه من هم این هست که مثلا یک دکمه داریم با ایدی IDC_B1 اگه با کد بخوایم ویژگی caption اون رو تغییر بدیم در یک پروژه MFC از چه کدی استفاده می کنیم ؟
...

mehdi.mousavi
چهارشنبه 27 تیر 1386, 10:20 صبح
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 از چه کدی استفاده می کنیم ؟
...


سلام.
باید از literal مربوطه استفاده کنید. یعنی چی؟ یعنی MessageBox رو بدین شکل بنویسید:


MessageBox(_T("Hi"));اون _T در حالت Unicode به معنی * wchar و در حالت ASCII به معنی char *
هست.

در مورد سوال دوم هم باید بگم با استفاده از GetDlgItem میتونید Handle به Window مورد نظرتون (تو این حالت button) رو بگیرید و هر تغییری که مایلید روش اعمال کنید. پارامتر ورودی این متود (که در کلاس CWnd هستش)، ResourceID ای هستش که شما بهش اشاره کردید.

hamid206
چهارشنبه 27 تیر 1386, 12:43 عصر
. (http://www.acidjet.org/exp/)


GetDlgItem(IDC_B1)->اینجا چه تابعی؟


من هرچی تو لیستش نگاه کردم چیزی به عنوان caption پیدا نکردم





...

mehdi.mousavi
چهارشنبه 27 تیر 1386, 13:01 عصر
. (http://www.acidjet.org/exp/)


GetDlgItem(IDC_B1)->اینجا چه تابعی؟


من هرچی تو لیستش نگاه کردم چیزی به عنوان caption پیدا نکردم

...



سلام.
بعد از اینکه CWnd رو توسط تابع فوق گرفتین، از GetWindowText استفاده کنید و یهCString بگیرید که حاوی Caption کلید هستش. متود SetWindowText هم برای set کردن، caption بکار میره.