با سلام
داخل منوی فارسی دارم که با دستور ساخته ام
حالا می خواهم اون را راست چین کنم.
دستور اون را از سایت ماکروسافت بدست اوردم ولی چون که نام منو را می خواهد و منو را با دستور می سازم نمی دونم باید چی کارش کنم.
ساخت منو
Dim strMenuName As String
Dim cmdNewMenu As CommandBar
strMenuName = "ExampleMenu"
If fIsCreated(strMenuName) Then
Application.CommandBars(strMenuName).Delete
End If
'Create a new Commandbar as MenuType
Set cmdNewMenu = Application.CommandBars.Add(strMenuName, msoBarTop, True, True)
ماژول راست چین ماکرو سافت
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As Long, ByVal bErase As Long) As Long
Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Public Const GW_CHILD = 5
Public Const WS_EX_LAYOUTRTL = &H400000
Public Const GWL_EXSTYLE = (-20)
دستور استفاده
'For ToolBar
'mhwnd = GetWindow(Toolbar1.hwnd, GW_CHILD)
'OldLong = GetWindowLong(mhwnd, GWL_EXSTYLE)
'SetWindowLong mhwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
'InvalidateRect hwnd, 0, False
لطفا دوستان که می تونند کمک کنند