PDA

View Full Version : تغيير کيبورد از فارسي به انگليسي بعد فوکوس بر روي کنترل



somayeh1361
یک شنبه 06 اسفند 1391, 13:00 عصر
سلام من در برنامه ذيل مي خوام اسامي را به صورت انگليسي وارد کنم منتها مي خوام بعد فوکوس روي کنترل صفحه کيبورد از فارسي به انگليسي تبديل بشه در حالت فرم اين حالت با تغيير خصوصيت keyboard language به انگليسي ميشه چنين کاري انجام داد ولي در سابفرم نميشه ممنون ميشم راهنمايي بفرماييد

somayeh1361
دوشنبه 07 اسفند 1391, 09:46 صبح
سلام - يکي ما رو راهنمايي کنه

Sahand87
دوشنبه 07 اسفند 1391, 16:38 عصر
اگر سابفرم درگزینه Formatفرمش در حالت Datasheetتعریف شده باشد تغییرات KeyboardLanguage اعمال نمی شود ولی در حالت Single Formیا در حالت Continuous Formsتغییر KeyboardLanguage امکان پذیراست .

چون گزینه Format سابفرم شما در حالت Datasheet تنظیم شده امکان تغییر KeyboardLanguage وجود نداره در فایل ضمیمه شما که اصلاح شده فوکوس روی text1 فارسی و روی نام لاتین انگلیسی است .

somayeh1361
سه شنبه 08 اسفند 1391, 08:51 صبح
سلام ممنون از راهنمايي تون اما اين مشکل مارو حل نميکنه اگه کسي راه حل ديگري داره ممنون ميشم در فايل من اعمال کنه

wolfstander
چهارشنبه 09 اسفند 1391, 17:02 عصر
سلام
نمیدونم که درست متوجه شدم یا نه
ولی یه چیزی درست کردم
تو فرم فارسیه
تو سابفرم خودش انگلیسی میشه
همینو میخواستی؟

somayeh1361
پنج شنبه 10 اسفند 1391, 07:57 صبح
سلام ممنون از جوابتون اما اين برنامه شما جواب نميده بر فرض اينکه فيلد جديدي در سابفرم باشه و قرار بر ورود اطلاعات فارسي باشه بعد فکوس بر روي اين فيلد تبديل به انگليسي نمي شه از دوستان درخواست راهنمايي دارم

somayeh1361
پنج شنبه 10 اسفند 1391, 11:54 صبح
http://barnamenevis.org/archive/index.php/t-220726.html
سلام جواب را تو اين سايت پيدا کردم اما ممنون ميشم کسي برنامه را متناسب با اين کد تغييرش بده

alirezabahrami
پنج شنبه 10 اسفند 1391, 19:43 عصر
سلام من در برنامه ذيل مي خوام اسامي را به صورت انگليسي وارد کنم منتها مي خوام بعد فوکوس روي کنترل صفحه کيبورد از فارسي به انگليسي تبديل بشه در حالت فرم اين حالت با تغيير خصوصيت keyboard language به انگليسي ميشه چنين کاري انجام داد ولي در سابفرم نميشه ممنون ميشم راهنمايي بفرماييد
سلام
ابتدا خط زیر را در قسمت عمومی (General) ماژول فرم وارد کن!


Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long


حالا در رخداد GotFocus هر تکست باکسی که مورد نظرت است از کدهای زیر استفاده کن!
برای تغییر زبان کیبرد به فارسی از کد زیر:
LoadKeyboardLayout "00000429", 1
و برای تغییر به انگلیسی از کد زیر :
LoadKeyboardLayout "00000409", 1
در واقع هر دو کد در در سه رقم سمت راست عدد داخل کوتیشن با هم فرق می کند؛ عدد 429 کد زبان فارسي و عدد 409 کد زبان انگلیسی است.
موفق باشید