View Full Version : مبتدی: فارسی نوشتن در تابع messagebox
vasilopita
سه شنبه 01 آذر 1390, 00:33 صبح
سلام دوستان. می دونم سوالم خیلی مبتدیه ولی خواهشا جوابمو بدین. من هر کاری می کنم نمی تونم یه پنجره بسازم که فارسی باشه. مگه نه این تابع MessageBox واسه unicode پس چرا نمی شه فارسی نوشت توش؟ تو ویژوال باید تنظیمات خاصی رو انجام بدم؟ ممنون
MessageBox(NULL,"سلام","سلام",0);
vasilopita
سه شنبه 01 آذر 1390, 19:09 عصر
آقا کسی نبود جواب ما رو بده ؟
محمد فدوی
چهارشنبه 02 آذر 1390, 02:46 صبح
سلام دوست عزیز...
کلا توابع API دو نوع یونی کدی و غیر یونی کدی دارن... اونی که از یونی کد پشتیبانی میکنه با حرف W و اونی که از ASCII پشتیبانی میکنه با A تموم میشه و در نهایت یک تابع مستقل بدون هیچ کدوم از حروف مذکور define میشه که مستقل از فرمت رشته در سیستمه...
فکر نمی کنم اینجا لازم به توضیح بیشتر باشه ولی خلاصش اینه که در تابع MessegeBox در MFC باید رشته ها رو بصورت زیر وارد کرد...
MessegeBox(NULL, _T("Salam!"), _T("Salam!"), 0);
اینجوری با فارسی هم مشکلی نداری...
اگر در مورد قرارداد های یونی کد خواستی بیشتر بدونی بگو تا توضیح بدم
vasilopita
چهارشنبه 02 آذر 1390, 22:10 عصر
دستت درد نکنه راستش این چیزی رو که گقتی امتحان کردم کلا L رو نمیشناخت (البته نمی دونم چرا از L استفاده کردی؟ تا جایی که می دونم L همون LONG هستش!!) ولی بجای L_ از TEXT استفاده کردم و جواب داد. عجیب اینه که قبلا هم از TEXT استفاده کرده بودم ولی جواب نداده بود
Mokhless
پنج شنبه 03 آذر 1390, 20:12 عصر
این خط رو به برنامه اضافه کن !
#define UNICODE
در ضمن اگه Definition ه ماکروی TEXT رو دنبال کنی اخرش به همون L میرسه !
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.