PDA

View Full Version : فارسی کردن مسیج باکس



masaioki.ono
شنبه 23 اسفند 1393, 20:43 عصر
من میخوام که موقعی که مسیج باکس نشون داده میشه yes no ok و .. که میان به فارسی بشن . چه کار باید بکنم . کسی نمونه کدش رو داره

gorg313
یک شنبه 24 اسفند 1393, 18:54 عصر
سلام يه سرچ ميزدي بهتر بودا

Option Explicit
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 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 GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex 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

Public Function MsgFox(Window As Form, Prompt As String, Optional msgStyle As VbMsgBoxStyle, Optional Title As String) As Long
MessageBoxH Window.hwnd
If IsMissing(msgStyle) Then msgStyle = vbOKOnly
If IsMissing(Title) Then Title = Window.Caption
MsgFox = MsgBox(Prompt, msgStyle + vbMsgBoxRtlReading + vbMsgBoxRight, Title)
End Function




لينک مطلب : http://barnamenevis.org/showthread.php?174656-%DA%A9%D8%AF-%D9%85%D8%B3%D8%AC-%D8%A8%D8%A7%DA%A9%D8%B3-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C