سلام دوستان
من 2تا سوال داشتم
1. چه جوری زبان صفحه کلید رو تغییر بدم
2. می خوام وقتی زبانرو تغییر دادم (فارسی شد) مشخه right to left تکس باکس هم true بشه
سلام .
کد:
Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
Private Sub Command1_Click()
StrLocId = LoadKeyboardLayout("00000429", 1)
Text1.RightToLeft = True
Text1.Alignment = 1
End Sub
Private Sub Command2_Click()
StrLocId = LoadKeyboardLayout(vbNull, 1)
Text1.RightToLeft = False
Text1.Alignment = 0
End Sub
موفق باشی .
ممنون 1120 اما من می خوام که وقتی کاربر با Alt + Shift زبان رو تغییر داد مشخصه rigt to left تکس باکس true بشه اما با این کدی که شما دادین کاربر باید روی یه دکمه کلیک کنه
(۱۹-مهر-۱۳۸۸, ۲۳:۰۵:۱۵)toopdanlod نوشته است: [ -> ]ممنون 1120 اما من می خوام که وقتی کاربر با Alt + Shift زبان رو تغییر داد مشخصه rigt to left تکس باکس true بشه اما با این کدی که شما دادین کاربر باید روی یه دکمه کلیک کنه
سلام toopdanlod جان
شما ديگه زشتتونه !!!!!!
برنامه Api Guide رو نصب كن برو تو بخش keyboard اونجا پيداش كن . نمونه سورس هم گذاشته !!! همين
يه ذره خودتون رو اكتيو كنيد همش محتاج نباشيد. فكر كنيد بريد دنبالش اگر سخت بود اينجا بپرسيد. تا مشكلتون حل بشه !
موفق باشي.
(۲۰-مهر-۱۳۸۸, ۰۰:۵۱:۱۶)dreamvbfox نوشته است: [ -> ]سلام toopdanlod جان
شما ديگه زشتتونه !!!!!!
برنامه Api Guide رو نصب كن برو تو بخش keyboard اونجا پيداش كن . نمونه سورس هم گذاشته !!! همين
يه ذره خودتون رو اكتيو كنيد همش محتاج نباشيد. فكر كنيد بريد دنبالش اگر سخت بود اينجا بپرسيد. تا مشكلتون حل بشه !
موفق باشي.
ببخشید dreamvbfox جان یه کم مشغله ها زیاد شده حواسم به این برنامه نبود این برنامه رو دارما اما حواسم نبود
اما پرسیدن که عیب نیست نداستن عیب است
بعدم من این برنامه رو دارم اومدیم و یکی دیگه این سوالو داشت اما برنامه API-Guide رو نداشت. اگه قرار باشه که فقط از برنامه هایی مثل API-Guide استفاده کنیم دیگه چرا انجمن؟؟؟؟؟؟
dreamvbfox عزیز API-Guide هم نتونست کمکی بکنه
می دونم که با تابع GetKeyState باید این کارو انجام بدم و با Constهای زیر
کد:
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Const VK_LSHIFT = &HA0
Private Const VK_RSHIFT = &HA1
Private Const KF_UP = &H8000
Private Const KF_ALTDOWN = &H2000
و باید توی تایمر کد زیر رو بنویسم
کد:
If GetKeyState(KF_ALTDOWN) And GetKeyState(VK_RSHIFT) And KF_UP Then Command1_Click
اما کار نمیکنه
البته فکر میکنم که const کلید Alt باید با VK شروع بشه آخه چند وقت پیش یه برنامه نوشتم که کلید windows رو وقتی با کلید s زد یه کاریو انجام بده Const کلیدهای windows و s با VK شروع شده بود و فقط Up بود که با KF شروع می شد اما هرچی گشتم پیدا نکردم که کانست Alt با VK شروع بشه
با سلام
(۱۹-مهر-۱۳۸۸, ۲۳:۰۵:۱۵)toopdanlod نوشته است: [ -> ]ممنون 1120 اما من می خوام که وقتی کاربر با Alt + Shift زبان رو تغییر داد مشخصه rigt to left تکس باکس true بشه اما با این کدی که شما دادین کاربر باید روی یه دکمه کلیک کنه
می تونین تو یه تایمر چک کنین :
کد:
Private Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long
Private Const KL_NAMELENGTH = 9
کد:
Public Function GetLanguage() As String
Dim strName As String
strName = String(KL_NAMELENGTH, 0)
GetKeyboardLayoutName strName
Select Case Replace(strName, Chr(0), "")
Case "00000429"
GetLanguage = "Fa"
Case "00000409"
GetLanguage = "En"
End Select
Debug.Print GetLanguage
End Function
اینم تو تایمر :
کد:
if typeof me.activecontrol is textbox then
if Getlanguage="Fa" then
me.activecontrol.righttoleft=true
else
me.activecontrol.righttoleft=false
end if
end if
(۲۰-مهر-۱۳۸۸, ۰۰:۵۱:۱۶)dreamvbfox نوشته است: [ -> ] (۱۹-مهر-۱۳۸۸, ۲۳:۰۵:۱۵)toopdanlod نوشته است: [ -> ]ممنون 1120 اما من می خوام که وقتی کاربر با Alt + Shift زبان رو تغییر داد مشخصه rigt to left تکس باکس true بشه اما با این کدی که شما دادین کاربر باید روی یه دکمه کلیک کنه
سلام toopdanlod جان
شما ديگه زشتتونه !!!!!!
برنامه Api Guide رو نصب كن برو تو بخش keyboard اونجا پيداش كن . نمونه سورس هم گذاشته !!! همين
يه ذره خودتون رو اكتيو كنيد همش محتاج نباشيد. فكر كنيد بريد دنبالش اگر سخت بود اينجا بپرسيد. تا مشكلتون حل بشه !
موفق باشي.
بهتره بجای متلک انداختن کمک کنیم .
اگه شما کدش رو دارین و یا بلدین بهتره ارائه کنین و پیشنهادتونم کنارش بگین .
(۲۰-مهر-۱۳۸۸, ۰۱:۵۱:۵۶)toopdanlod نوشته است: [ -> ]اگه قرار باشه که فقط از برنامه هایی مثل API-Guide استفاده کنیم دیگه چرا انجمن؟؟؟؟؟؟
فقط از اونم استفاده کنین بازم به انجمن نیاز هست .
نقل قول: بهتره بجای متلک انداختن کمک کنیم .
دوست عزيز اينا متلك نبود . عين حقيقته !!!!! الان هركي ميرسه بدون اينكه يه سرچي تو گوگل بزنه مياد يه پستي ميده بعد منتظر جوابه خودشم ميره پي كارش!!! شما يه نگاهي به همين فروم ويبي بندازيد ..... من كه نمي گم پست ندن !!!!!! خودتون هم تلاش كنيد!!! قرار نيست پروژتون رو اينجا كامل كرديد يه برنامه نويس بشيد !!!! اگر مشكلي پيش اومد بيان بپرسن.
من بار ها ديدم تو همين فروم ويبي كه يه كاربري اومده گفته اين برنامه رو ميخوام لطفا واسم بنويسيد و ميل كنيد .... من اينا رو كه ميبينم حرصم ميگيره.........
اين تاپيك رو هم كه ديدم اودم اينا رو گفتم چون يه كاربري كه 100 تا پست داده بايد اينو درك كرده باشه كه ميتونه به يه سرچي اين مسئله رو حل كنه !
آيا حرف من اشتباه هست؟ اگر اشتباه هست شما به بزرگي خودتون ببخشيد. من هنوز بچه ام ...
موفق باشيد.
سلام دوستان
حق با dreamvbfox عزیز، من خودمم دیدم کسی رو که فقط پست میده و انتظار داره که بقیه بجای طرف برنامشو بنویسه.
اما dreamvbfox جان کسی که اینجا پست میده نمیاد بگه که من توی گوگل سرچ کردم چیزی گیم نیومد. مشکلی که داره رو میگه تا ما بهش کمک کنیم.
این سوالی که من پرسیدم مال 3ماه پیش، از 3ماه پیش دارم دنبالش می گردم که درست بشه اما نشد منم اومدم اینجا سوالمو پرسدم. وقتی هم که پرسیدم خودمم دنبالش رفتم و باهاش ور رفتم تا بتونم درستش کنم اما بازم نشد.
-------------------------------------------------------------------------------------------------
من توی این برنامه که می ذارم گفتم وقتی کلید s رو کاربر زد برنامه رو ببند اما فقط این قسمت رو نوشتم که خواستید ببینید گیج نشید. حالا من می خوام وقتی کاربر کلیدها Alt + Shift رو زد (خود ویندوز زبان صفحه کلید رو عوض می کنه) من می خوام وقتی زبان فارسی شد تکس باکسم از راست به چپ بشه و قتی هم که انگلیسی شد از چپ به راست بشه
اصلا اون کدهایی که من بالا نوشتم رو دیدی ؟
اگه همینطوری پستها رو بخونی 3 ماه که کمه تو 3 سال نمیتونی حلش کنی .
بله آقا حامد دیدم
اما کار نمی کرد
یه نگاه به برنامه ای که گذاشتم بندازید