با سلام
یک راه حل برای راست چین کردن Treeview و Toolbarو Progressbar و Statusbar پیدا کردم اینجا ندیده بودمش
اول باید یک ماژول تعریف کرد
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)
سپس باید در onload فرم کدهای زیر رو نوشت
Private Sub Form_Load() 'On Form Load you need to set the mirroring for the controls
Dim OldLong As Long
'For Form
OldLong = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
SetWindowLong Me.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
InvalidateRect hwnd, 0, False
'For List
OldLong = GetWindowLong(List1.hwnd, GWL_EXSTYLE)
SetWindowLong List1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
InvalidateRect hwnd, 0, False
'For The StatusBar
OldLong = GetWindowLong(StatusBar1.hwnd, GWL_EXSTYLE)
SetWindowLong StatusBar1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
InvalidateRect hwnd, 0, False
'For TreeView
Dim nodX As Node
Set nodX = TreeView1.Nodes.Add(, , "R", "Root")
Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C1", "Child 1")
Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C2", "Child 2")
Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C3", "Child 3")
Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C4", "Child 4")
nodX.EnsureVisible
OldLong = GetWindowLong(TreeView1.hwnd, GWL_EXSTYLE)
SetWindowLong TreeView1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
InvalidateRect hwnd, 0, False
'For ListView
OldLong = GetWindowLong(ListView1.hwnd, GWL_EXSTYLE)
SetWindowLong ListView1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
InvalidateRect hwnd, 0, False
'For ProgressBar
ProgressBar1.Value = 50
OldLong = GetWindowLong(ProgressBar1.hwnd, GWL_EXSTYLE)
SetWindowLong ProgressBar1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
InvalidateRect hwnd, 0, False
'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
End Sub
من فقط برای treeview استفادش کردم اگر برای بقیه هم مثال درست کردم آپلود میکنم
منبع سئوال 8 : http://www.microsoft.com/middleeast/msdn/faq.aspx