PDA

View Full Version : راست چین کردن پنل های StatusBar



UpgradeVB6Code
جمعه 23 فروردین 1387, 15:40 عصر
سلام
چه جوری میتونم پنل های StatusBar رو راستچین کنم ؟

ممنون

sokote_bi_payan
جمعه 23 فروردین 1387, 21:10 عصر
به نام خدا

با سلام

فکر نمی کنم بشه . مگر اینکه یه Ocx دیگه ای پیدا کنی

mpmsoft
شنبه 24 فروردین 1387, 13:20 عصر
دوست عزیز از این کد استفاده کن


Const GWL_EXSTYLE = -20
Const WS_EX_LAYOUTRTL = &H400000
Const WS_EX_NOINHERITLAYOUT = &H100000

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Declare Function EnumChildWindows Lib "user32.dll" ( _
ByVal hWndParent As Long, _
ByVal lpEnumFunc As Long, _
ByVal lParam As Long) As Long

Private Sub RTLForm(hwnd As Long)
On Error Resume Next
Dim OldLong As Long
OldLong = GetWindowLong(hwnd, GWL_EXSTYLE)
SetWindowLong hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL Or WS_EX_NOINHERITLAYOUT
End Sub

Private Function EnumChildProc(ByVal hwnd As Long, ByVal lParam As Long) As Long
On Error Resume Next
RTLForm hwnd
EnumChildProc = True
End Function

Public Sub RTLWindow(hwnd As Long, Optional GetAllChilds As Boolean = False)
On Error Resume Next
RTLForm hwnd
If GetAllChilds Then EnumChildWindows hwnd, AddressOf EnumChildProc, ByVal 0&
End Sub


Private Sub Form_Load()
RtlWindow me.statusBar1.Hwnd,True
End Sub



توسط این کد می تونی ListView رو هم راست به چپ کنی

موفق باشی

Dr.Defacer
شنبه 24 فروردین 1387, 20:42 عصر
داخل fom_load بنویس
me.RighTtoLeft=True

mpmsoft
شنبه 24 فروردین 1387, 21:03 عصر
دوست عزیز StatusBar راست به چپ رو پشتیبانی نمی کنه و باید توسط API این کارو انجام بدیم

UpgradeVB6Code
یک شنبه 25 فروردین 1387, 09:51 صبح
ممنون
کد جواب داد
فقط من چون توی یکی از پنل ها از تاریخ شمسی به این صورت
یکشنبه 25/فروردین/1387 استفاده میکنم بعد از راست چین کردن میریزه به هم
اینو هم میشه کاریش کرد یا بیخیال راست چین کردنش بشم ؟