ورود

View Full Version : سوال: ايراد در فارسي شدن كيبورد



masoud1345
چهارشنبه 11 مرداد 1391, 07:53 صبح
سلام من دستور زير را در گات فوكوس تكس مينويسم ولي صفحه كليد فارسي نميشود ايراد من از كجاست متشكرك

inretcode=loadkeyboardlayout('00000429',1)

gh_khajehzade
شنبه 14 مرداد 1391, 14:48 عصر
1-تو load فرم

Declare Integer ActivateKeyboardLayout In win32api Integer,Integer
DECLARE LONG LoadKeyboardLayout IN WIN32API STRING pwszKLID,INTEGER Flags
2-تو gotfocus تكست باكس

ActivateKeyboardLayout(1025,0)
lnRetCode = LoadKeyboardLayout('00000429', 1 )
3-تو lostfocus تكست باكس

ActivateKeyboardLayout(1033,8)
lnRetCode = LoadKeyboardLayout('00000409', 1 )

masoud1345
یک شنبه 15 مرداد 1391, 08:23 صبح
سلام وبا تشكر من دستورات فوق را نوشتم ولي خطاميدهد فكر كنم dll
را ميخواهد

gh_khajehzade
یک شنبه 15 مرداد 1391, 08:45 صبح
ببخشيد يادم رفت دو كار ديگه بايد انجام بشه
1-در properties تكس باكس خاصيت righttoleftرو در حالت.T. قرار بد ه و خاصيت alignment رو در حالت right
2-در start-control panel-regional and language-advanced زبان رو arabic انتخاب كن
اگه بازم خطا داد خطا رو بفرست.

masoud1345
یک شنبه 15 مرداد 1391, 09:20 صبح
با عرض شرمندگي خطاي cannat find entry point activatkeyboardlqyout the dll را ميدهد

gh_khajehzade
یک شنبه 15 مرداد 1391, 11:23 صبح
windows xp يا windows7؟
32 يا 64؟

masoud1345
یک شنبه 15 مرداد 1391, 11:43 صبح
ويندوزxp ولي 32 يا 64 راديگر نميدانم لطفا در هر دو مورد را توضيح دهيد

aqawae
یک شنبه 15 مرداد 1391, 12:01 عصر
public class win32
{
[DllImport("user32.dll", SetLastError = true)]
public static extern int LoadKeyboardLayoutA(string pwszklid, int flage);
}
public void farsi_convert()
{
System.PlatformID platform = Environment.OSVersion.Platform;
System.String windowstype = platform.ToString();
if (windowstype == "Win32NT")
win32.LoadKeyboardLayoutA("00000429", 1);
if (windowstype == "Win32Windows" || windowstype == "Win32S")
win32.LoadKeyboardLayoutA("00000401", 1);
}
public void english_convert()
{
win32.LoadKeyboardLayoutA("00000409", 1);
}
private void Form1_Load(object sender, EventArgs e)
{
farsi_convert();
}

aqawae
یک شنبه 15 مرداد 1391, 12:21 عصر
اينك كد ديگر براي فارسي كردن كيبورد
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(new CultureInfo("fa-IR"));

masoud1345
یک شنبه 15 مرداد 1391, 12:24 عصر
بخدا شرمنده هستم ولي از توضيحات وعكس شما چيزي حاليم نشد شرمنده هستم

gh_khajehzade
یک شنبه 15 مرداد 1391, 15:01 عصر
cannat find entry point activatkeyboardlqyout the dll
به جاي activatkeyboardlqyout بايد activatkeyboardlayout رو تايپ كني(به جاي حرف a حرف q رو نوشتي) لطفا عين كد بالا رو copy و paste كن تا اشتباه نشه.

javad_1349
سه شنبه 04 مهر 1391, 12:37 عصر
سلام
خوشبختانه این سایت کمک زیادی در برنامه نویسی به من کرده و یک زیر برنامه است که در همین سایت گذاشته بودند دانلود کردم که راحت میشود صفحه کلید را فارسی کرد البته تنظیمات در کنترل پنل که دوستمون گفت باید حتما انجام بشه اگر می خوای یک ایمیل به صندوق من ارسال کن تا بفرستم j_saree@yahoo.com
موفق باشید