منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تحويل مؤشر الكتابة الى اللغة العربية
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
ما هو الكود الذي يقوم بتحويل المؤشر الى اللغة العربية عند الانتقال الى تكست بوكس مطلوب الكتابه به باللغة العربية ؟ وتدمتم سالمين
في الموديل:


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 
(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 لسرعة الاستجابة . فعلا حل موفق جزاك الله خيرا
السلام عليكم

طريقة أخرى

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
تسلمو اخوتي على هذا الطرح الجميع جعله الله في ميزان حسناتكم 
احترمكم