الاخوه الكرام
هل بالامكان تعديل ازرار msgbox لتصبح بالعربي بدل الانجليزي بحيث تصبح كلمة ok الى موافق
شاكرين لكم
اخوكم
ابوعبداللطيف
الاخوه الكرام
هل بالامكان تعديل ازرار msgbox لتصبح بالعربي بدل الانجليزي بحيث تصبح كلمة ok الى موافق
شاكرين لكم
اخوكم
ابوعبداللطيف
رحم الله امراٍ عرف قدر نفسه
نعم بالامكان فعل ذلك من خلال برنامج الاكسيس وهي طريقة بسيطه وسهلة واليك الطريقة
1. قم بإنشاء وحدة نمطية جديده وضع بها هذا الكود
Public Ok, Cancel, ABORT Public RETRY, IGNORE, YES, NO Private m_hHook As Long Private Const IDOK = 1 Private Const IDCANCEL = 2 Private Const IDABORT = 3 Private Const IDRETRY = 4 Private Const IDIGNORE = 5 Private Const IDYES = 6 Private Const IDNO = 7 Private Const WH_CBT = 5 Private Const GWL_HINSTANCE = (-6) Private Const HCBT_ACTIVATE = 5 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 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, Ok SetDlgItemText wParam, IDCANCEL, Cancel SetDlgItemText wParam, IDABORT, ABORT SetDlgItemText wParam, IDRETRY, ABORT SetDlgItemText wParam, IDIGNORE, ABORT SetDlgItemText wParam, IDYES, YES SetDlgItemText wParam, IDNO, YES UnhookWindowsHookEx m_hHook End If MsgBoxHookProc = False End Function
2. قم بإنشاء زر امر على نموذج وضع به عند حدث التقر هذه العبارة
Private Sub Arabic_Click() Ok = "موافق" Cancel = "الغاء الامر" MessageBoxH Me.hwnd MsgBox "الفريق العربي للبرمجة - قسم الاكسيس .", vbOKCancel + vbMsgBoxRight + vbMsgBoxRtlReading, "حياك الله اخي عبداللطيف" End Sub
لاحظ انه تم استبدال كلمة Ok بكلمة " موافق "
وكذلك تم استبدال كلمة Cancel بكلمة " الغاء الامر "
واستندعاء الدالة MessageBoxH Me.hwnd من الوحدة النمطية
وهذا مثال مرفق
اختكم
زهره
الاخت زهره
السلام عليكم
في البداية لم اكن اهتم بالموضوع لانني كنت اهتم بالاساس وليس بالكماليات ولكن احد اصحابي ابلغني هل بالامكان عمل ذلك هو ان ازرار الرساله تكون بالعربي كما في بعض البرامج العربية وليس باللغه الاجنبية في هذه اللحضه فكرة هل ممكن , وقد وجدت الجواب عندكم وكان مثل ما قلتي ان الطريقه سهله وهي فعلا سهله.
واخيرا احب ان اشيد بكم فانا للاسف قليل المشاركات لانني كلما وجدت مشكله يوجد لها عندى حل اجد ان الاخوان يتسابقون على حل هذه المشكله وانا دائما اقوم بمتابعة أخر اخباركم لاستفيد لانني فعلا لولا الله ثم انتم ما وصلت الى هذه المرحله
اعذرينى على سوء تعبيري لاني ضعيف بالتعبير والى المزيد لكم والى جميع الاخوه والى المنتدى الرائع جدا
وشكرا
اخوكم
ابوعبداللطيف
رحم الله امراٍ عرف قدر نفسه
طيب انا جربت الكود هذا فقط بدون الوحدة النمطية وطلع عندي بالعربي الازرار فهل هذا يكفي ؟؟؟؟

ارجو الافادة
If MsgBox("هل تريدين الخروج من البرنامج", _
vbInformation + vbYesNo, _
"حياك الله يا زهررررررررة") = vbYes Then
DoCmd.Quit
End If
End Subالملف مرفق
ريح من الزفرات تعصف في الحشى &&& و ورائها مطر من العبرات
ابو حسن
اخي المبرمج 2003
جرب مثالك على نسخة انجليزية وشوف هل ازرار الرساله ام لا
لان النسخة العربية لا وجد بها مشكلة فجميع تسميات الازرار تكون بالعربي
تم تعديل هذه المشاركة بواسطة zahrah في 3 فبراير 2006 في 08:02
ريح من الزفرات تعصف في الحشى &&& و ورائها مطر من العبرات
ابو حسن
أخت زهره جزاك الله عنا خيراً وبارك فيك
هذا الموضوع مغلق.