منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] تحويل مؤشر الكتابة الى اللغة العربية - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : [سؤال] تحويل مؤشر الكتابة الى اللغة العربية (/showthread.php?tid=22532)



تحويل مؤشر الكتابة الى اللغة العربية - ناجح احمد - 13-11-17

السلام عليكم
ما هو الكود الذي يقوم بتحويل المؤشر الى اللغة العربية عند الانتقال الى تكست بوكس مطلوب الكتابه به باللغة العربية ؟ وتدمتم سالمين


RE: تحويل مؤشر الكتابة الى اللغة العربية - khezzani - 13-11-17

في الموديل:


PHP كود :
Public Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszklid As String) As Long
Public Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszklid As StringByVal flags As Long) As Long
Public Sub changerlanguage(ByVal lg As Integer)
On Error Resume Next
Dim resultat 
As Long
Dim resultato 
As String
resultato 
Space(10)
resultat GetKeyboardLayoutName(resultato)
If 
lg 1 Then
    If LCase
(Left(resultato8)) = "00000409" Or LCase(Left(resultato8)) = "00020401" Or LCase(Left(resultato8)) = "0000040c" Then
        resultat 
LoadKeyboardLayout("00020401"1)
 
   Else
        resultat 
LoadKeyboardLayout("00001c01"1)
 
   End If
Else
 
   resultat LoadKeyboardLayout("0000040c"1)
End If
If 
resultat 0 Then
    MsgBox 
"vérifiez la version de windows"vbInformation"Language de windows"
End If
End Sub 


في التصريح العام :


PHP كود :
Public Sub arabic()
 
'' تحويل لوحة المفاتيح للغة العربية
    Call LoadKeyboardLayout
("00000401"1)
End Sub 

في خاصية التكست GotFocus


PHP كود :
Call arabic 



RE: تحويل مؤشر الكتابة الى اللغة العربية - ناجح احمد - 13-11-17

(13-11-17, 09:59 PM)khezzani كتب : في الموديل:


PHP كود :
Public Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszklid As String) As Long
Public Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszklid As StringByVal flags As Long) As Long
Public Sub changerlanguage(ByVal lg As Integer)
On Error Resume Next
Dim resultat 
As Long
Dim resultato 
As String
resultato 
Space(10)
resultat GetKeyboardLayoutName(resultato)
If 
lg 1 Then
    If LCase
(Left(resultato8)) = "00000409" Or LCase(Left(resultato8)) = "00020401" Or LCase(Left(resultato8)) = "0000040c" Then
        resultat 
LoadKeyboardLayout("00020401"1)
 
   Else
        resultat 
LoadKeyboardLayout("00001c01"1)
 
   End If
Else
 
   resultat LoadKeyboardLayout("0000040c"1)
End If
If 
resultat 0 Then
    MsgBox 
"vérifiez la version de windows"vbInformation"Language de windows"
End If
End Sub 


في التصريح العام :


PHP كود :
Public Sub arabic()
 
'' تحويل لوحة المفاتيح للغة العربية
    Call LoadKeyboardLayout
("00000401"1)
End Sub 

في خاصية التكست GotFocus


PHP كود :
Call arabic 

كل الشكر والتقدير للاستاذ للاستاذ khezzani لسرعة الاستجابة . فعلا حل موفق جزاك الله خيرا


RE: تحويل مؤشر الكتابة الى اللغة العربية - مبرمج مصرى - 17-11-17

السلام عليكم

طريقة أخرى

Public Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long
Public Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long

Private Sub Command1_Click()
Call ArabicKeyboard("a")
End Sub


Sub ArabicKeyboard(language As String)
 Select Case LCase(language)
  Case "a"
    dd = GetKeyboardLayout(0)
    If dd = "67699721" Then d = ActivateKeyboardLayout(1, 0)
  Case "e"
    dd = GetKeyboardLayout(0)
    If dd <> "67699721" Then d = ActivateKeyboardLayout(0, 0)
  End Select
End Sub

Private Sub Command2_Click()
Call ArabicKeyboard("e")
End Sub


RE: تحويل مؤشر الكتابة الى اللغة العربية - awidan76 - 25-01-18

تسلمو اخوتي على هذا الطرح الجميع جعله الله في ميزان حسناتكم 
احترمكم