السلام عليكم
عندي بعض الأستفسارات إذا سمحتوا لي :
1- كيف أمكن زر الأدخال ( الأنتر ) من العمل مثل زر ( Tab ) ؟
2- كيف أجعل الكتابة بالعربي دون أستخدام الحروف الأنجليزية ؟
وشكراً للجميع
السلام عليكم
عندي بعض الأستفسارات إذا سمحتوا لي :
1- كيف أمكن زر الأدخال ( الأنتر ) من العمل مثل زر ( Tab ) ؟
2- كيف أجعل الكتابة بالعربي دون أستخدام الحروف الأنجليزية ؟
وشكراً للجميع

بسم الله الرحمن الرحيم
تحية طيبة و بعد
لتنقل بزر الإنتر يمكنك استخدام الكود التالي طبعا بعد حذف control و استبدالها باسم العنصر الخاص و استخدام ال Index في مثل هذه الأمور يسهل عليك كثيرا
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer) If KeyAscii = 13 Then control.SetFocus End Sub
و لمنع الأحرف الإنجليزية يمكنك استخدام أحد طريقتين
1- تحويل لوحة المفاتيح إلى العربية باستخدام تابع API و هو LoadKeyboardLayout
2- منع كتابة الأحرف باللغة الإنجليزية و الطرق كثيرة و مثال على أحدها
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer) Select Case KeyAscii Case 65 To 91 Beep KeyAscii = 0 Case 97 To 123 Beep KeyAscii = 0 End Select End Sub
و الله الموفق
جزاك الله خيراً على سرعة الرد ...
لكن هل يلزم أن أضع الكود في كل مربع نص ؟ يعني إذا كان عندي مجموعة من مربعات النصوص .
ثم أن كود الكتابة بالعربي يجبرني أن أحول عربي ... لكن أنا أريد أن يتم التجويل مباشرة إلى العربي ...
وجزاك الله خير

لجعل الكتابة بالعربي .. استخدمت هذا الكود من أحد الأخوان ...
Call loadkeyboardlayout("00000401",1)
لكن تطلع لي هذا الرسالة :
فما هي المشكلة ...؟ ! وما هو الحل ؟!
وشكراً لك مرة أخرى

بسم الله الرحمن الرحيم
يمكنك تعديل الكود لهذا الشكل
Private Sub Form_KeyPress(KeyAscii As Integer)
form1.KeyPreview=True
If KeyAscii = 13 Then
SendKeys "{TAB}"
KeyAscii = 0
End If
End Subو لن تضطر لكتابة الكود في كل مرة و لكن لطريقة السابقة حسناتها في تحديد مسار آخر للحركة غير مسار حركة Tab
و تعديل الكود إلى الشكل التالي ليحول إلى العربي مباشرة
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Select Case KeyAscii
Case 65 To 91
Beep
KeyAscii = 0
a = LoadKeyboardLayout("00000401", 1)
Case 97 To 123
Beep
KeyAscii = 0
a = LoadKeyboardLayout("00000401", 1)
End Select
End Sub
و الله الموفق
بسم الله الرحمن الرحيم
تحية طيبة و بعد
ربما يجدر بي التذكير بوجوب تعريف الدالة LoadKeyboardLayout قبل إمكانية استخدامها و ذلك على مستوى الوحدة على الأقل
و التعريف هو
Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
و متأسف على نسيان التنبيه لذلك مسبقا
و الله الموفق
هذا الموضوع مغلق.