سلام .
ببخشيد من مي خواستم بدونم چه جوري مي شه در edit control از توي برنامه فارسي نوشت ؟
با تشكر فراوان
Printable View
سلام .
ببخشيد من مي خواستم بدونم چه جوري مي شه در edit control از توي برنامه فارسي نوشت ؟
با تشكر فراوان
دو کار می تونی بکنی:
1- فرض کنی که کاربر کیبورد فارسی رو نصب کرده. با این کار می تونی هنگام ورود کربر به کنترل، با اجرای یک تابع API زبان کیبورد رو به فارسی ببری و هنگام خروج اون رو به انگلیسی برگردونی
مثلاً تو c# با کد زیر زبان به فارسی می ره:
کد بالا باید هنگام ورودی (در event به نام Enter ) اجرا شود.کد:System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fa");
و یا این کد به انگلیسی بر می گرده:
کد بالا باید هنگام خروج (event به نام Leave) اجرا شود.کد:System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en");
2- فرض کنیم که فارسی رو نصب نکرده. برای این کار باید همۀ دکمه هایی رو که کاربر می زنه رو بگیری و با توجه به کد ASCII اون ها رو تبدیل کنی به معادل UNICODE اون ها. مثلاً وقتی کاربر دکمۀ F رو می زنه شما به رشتۀ موجود در کنتذل خود یونیکد «ب» رو اضافه کنید که معادل یونیکدش U+0628 (به صورت هگزادسیمال) می باشد. یعنی یه جورایی کلید ها رو map کنی به معادل فارسی شون.
یونیکد فارسی:
کد:http://freenet-homepage.de/prilop/persian-alphabet.html
کد:http://unicode.org/Public//MAPPINGS/VENDORS/APPLE/FARSI.TXT
با تشكر از پاسخ شما.
ولي من مي خواستم بدونم چه جوري مي شه از تو برنامه در edit control فارسي نوشت؟
مثلا با زدن يك دكمه در فرم در يك edit control نوشته بشه "سلام".
مي شه كد تون رو در MFC C++ visual بنويسين .
خيلي متشكرم .
آها
فرض کنید که یه Label ساخته اید:
می تونید اینجوری متن یه کنترل رو تغییر بدید (توی event همون دکمهه):کد:CStatic *Label = new CStatic;
Label->Create("Saint Lucia", WS_CHILD | WS_VISIBLE,
CRect(10, 40, 160, 60), this, 0x188);
کد:// TODO: Add extra initialization here
m_Label.SetWindowText("سلام");