كيف يمكن جعل msgbox من اليمين الى اليسار وكيف يمكن جعل مفاتيحة باللغة العربية مثل نعم بدلآ من yes و لا بدلآ من no
كيف يمكن جعل msgbox من اليمين الى اليسار
صمم Form و خليها شبه الـ MsgBox و أستعملها أسهلك و الله من وجع الدماغ ده.
إقرأ معى:
----
المثقفون العرب .. المزورون العرب: تأبين محمود درويش نموذجا
ماذا خسر العالم بانحطاط المسلمين ؟!! للعلامه: أبو الحسن الندوى (كتاب هام لكل مسلم).
المنهجية ومقدمات في الطلب (لطلاب العلم الشرعى)
MsgBox "مرحبا", vbCritical + vbMsgBoxRtlReading
وبالنسبة للعربي فهي تعتمد على الويندوز اذا كان الواجهة عربية فهي تظهر بالعربي
بالنسبة للأزرار فهي تبع للنظام , إن كان عربي فعربي وإن كان بطيخ فبطيخ
بالنسبة لاتجاه الكتابة :
msgbox "",vbMsgBoxRight + vbMsgBoxRtlReading , ""
اقتباسIf A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut
Albert Einstein
السلام عليكم ورحمة الله وبركاته
انا ما اهتم لهذي المسالة
لكن مشكووور اخي على لفت الانتباه
امتنى من كل عضو ياتي و يضع كود ان يشرحه الى الذي طلب
لان اذا لم يشرح يبقى العضو يحفظ الكود ولا يفهمه
تحياتي
مبرمج مبتدا

اقتباسامتنى من كل عضو ياتي و يضع كود ان يشرحه الى الذي طلبلان اذا لم يشرح يبقى العضو يحفظ الكود ولا يفهمه
عمل رسائل Msgbox عربية .
لا تحتوي ال Msgbox على خاصية RightToLeft بالصورة الطبيعية ، بل تحتوي على قيمتين تؤديان إلى تعريب الرسالة ، وهما 524288 و 1048576 .
ويقابلهما الثابتان :
vbMsgBoxRight و vbMsgBoxRtlReading
بهذا نكتب أمر الرسالة بالشكل التالي :
MsgBox "أحمد جمال .", vbInformation + vbMsgBoxRight + vbMsgBoxRtlReading,"اللغة العربية"
لمزيد من الاختصار . لن نضطر في كل مرة لاظهار رسالة أن نكتب الثابتين السابقين أو الرقمين .لذا فإن بامكاننا تعريف Enum وذلك لاعطاء هذين الثابتين اسماً آخر ، وذلك بالشكل التالي :
Public Enum Ahmed arabic = vbMsgBoxRight + vbMsgBoxRtlReading End Enum
ويمكننا أن نقوم بكتابة الأمر السابق في موديول وذلك لاستخدامه في جميع الشاشات .
لاحقاً . يمكن استخدام كلمة arabic لتقوم بالمهمة مباشرة .
لذا تصبح الرسالة التي تظهر كلمة المرور والتي وضعناها في الدرس السابق بالشكل التالي :
MsgBox "أحمد جمال .", vbInformation + arabic,"اللغة العربية"
تم تعديل هذه المشاركة بواسطة المزمجر في 4 يونيو 2007 في 19:11
ألا بذكر الله تطمئن القلوب
بارك الله بك اخانا المزمجر على هذا الشرح لكن السؤال كان عن تعريب الازرار
مثل موافق بدل ok
اقتباسبالنسبة للأزرار فهي تبع للنظام , إن كان عربي فعربي وإن كان بطيخ فبطيخ
:lol:
اقتباسبارك الله بك اخانا المزمجر على هذا الشرح لكن السؤال كان عن تعريب الازرارمثل موافق بدل ok
لدي طريقة بس ياريت حد يجربها لان النظام الان عندي عربي مش بطيخ
:D
ألا بذكر الله تطمئن القلوب
جرب الطريقة
ضع الكود التالي في الموديول
Private m_hHook As Long ' Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal HWnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetDlgItemText Lib "user32" Alias "SetDlgItemTextA" (ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal lpString As String) As Long Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long ' Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal HWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long '' Public Sub MessageBoxH(hwndThreadOwner As Long) ' Dim hInstance As Long Dim hThreadId As Long ' hInstance = GetWindowLong(hwndThreadOwner, GWL_HINSTANCE) hThreadId = GetCurrentThreadId() ' m_hHook = SetWindowsHookEx(WH_CBT, AddressOf MsgBoxHookProc, hInstance, hThreadId) ' End Sub ' Private Function MsgBoxHookProc(ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long If uMsg = HCBT_ACTIVATE Then ' SetDlgItemText wParam, IDOK, "موافق" SetDlgItemText wParam, IDCANCEL, "إلغاء الأمر" SetDlgItemText wParam, IDABORT, "إحباط" SetDlgItemText wParam, IDRETRY, "إعادة المحاولة" SetDlgItemText wParam, IDIGNORE, "تجاهل" SetDlgItemText wParam, IDYES, "نعم" SetDlgItemText wParam, IDNO, "لا" ' UnhookWindowsHookEx m_hHook ' End If ' MsgBoxHookProc = False End Function ' Sub OffMsg() ' UnhookWindowsHookEx m_hHook ' End Sub
ضع الكود التالي في الفورم للتجربة
Private Sub Command1_Click()
MessageBoxH Form1.HWnd
Dim ask
ask = MsgBox("المزمجر", vbQuestion + vbMsgBoxRight + vbMsgBoxRtlReading + vbYesNoCancel)
Call OffMsg
End Sub
ألا بذكر الله تطمئن القلوب
الكود ناقص حاجات زى :
Private Const WH_CBT As Long = 5 Private Const GWL_HINSTANCE As Long = -6
مع العلم أن فيه خطورة من أستعمال الطرق دى , لازلت أفضل فكرة الـ Form
إقرأ معى:
----
المثقفون العرب .. المزورون العرب: تأبين محمود درويش نموذجا
ماذا خسر العالم بانحطاط المسلمين ؟!! للعلامه: أبو الحسن الندوى (كتاب هام لكل مسلم).
المنهجية ومقدمات في الطلب (لطلاب العلم الشرعى)
هذا الموضوع مغلق.

