اذهب الي المحتوي
أوفيسنا

تغير اختيارات الـ MsgBox


الردود الموصى بها

مرحبا للجميع

في الاكواد عندنا اطالب بإظهار MsgBox يكون الاختيار

اما vbOKOnly او vbOKCancel او vbYesNo او vbYesNoCancel

وسؤالي

هل يمكن التغير في الاختيارات مثلا بان تكون باللغه العربيه مثل موافق او ارفض او تم وما الي ذلك

رابط هذا التعليق
شارك

1 ساعه مضت, تامر خليفه said:

هل يمكن التغير في الاختيارات مثلا بان تكون باللغه العربيه مثل موافق او ارفض او تم وما الي ذلك

نعم اتفضل اليك موضوع على هذا

واليك الحل هنا للاستاذ ابوخليل
قم بنسخ هذا الى وحدة النمطية
 

Option Compare Database

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, NO
         UnhookWindowsHookEx m_hHook
   End If
   MsgBoxHookProc = False
End Function

وعن الضغط على الزر تكتب هذا مثلا
 

Private Sub Command1_Click()
Dim resalh As Integer
Ok = "حسنا موافق"
Cancel = "غير موافق طبعا"
MessageBoxH Me.hwnd
resalh = MsgBox("lllllll", vbOKCancel, "yyyyyy")
End Sub

 

  • Like 3
  • Thanks 1
رابط هذا التعليق
شارك

58 دقائق مضت, تامر خليفه said:

ممكن اطمع في مرفق لاني حاولت انفذه لكن فشلت

اظن ان السبب يرجع لخاصية النموذج Pop Up غيره الى لا
غيره واذا تريده بعد ذلك سارفع لك المثال
وراح نسأل لاستاذ @ابوخليل ھل یمکن ان نغیر تسمیات الازرار الرسائل عند خاصیة النموذج pup up = yes
 

  • Like 1
رابط هذا التعليق
شارك

6 ساعات مضت, Shivan Rekany said:

وراح نسأل لاستاذ @ابوخليل ھل یمکن ان نغیر تسمیات الازرار الرسائل عند خاصیة النموذج pup up = yes
 

اهلا استاذ شفان  .. وكل عام وانتم بخير

لا اعلم هل يمكن  ام لا  .. 

ولكني كنت في وقت مضى حين احتجت بعض الميزات الخاصة استخدمت  نموذجا  كبديل  لمربع الرسالة

  • Like 2
رابط هذا التعليق
شارك

4 ساعات مضت, ابوخليل said:

لا اعلم هل يمكن  ام لا  .. 

ولكني كنت في وقت مضى حين احتجت بعض الميزات الخاصة استخدمت  نموذجا  كبديل  لمربع الرسالة

شكرا لك
وانا ايضا استخدم نموذج كبديل الرسالة لكن كان اريد اعرف هل يجوز ام لا ... وشكرا لك تعبت معنا 🙂

  • Like 1
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information