View Full Version : امکان right to left کردن ابزار هست ؟
Veteran
سه شنبه 13 دی 1390, 23:41 عصر
سلام دوستان
میخواستم ببینم اگه یک ابزاری( هر ابزاری) گزینه ای برای right to left کردن نداشت ما خودتون میتونیم اون ابزار رو چپ چین کنیم ? :متفکر: مثلا براش کد بنویسیم که چپ چین بشه .
امکان داره ؟
silverado
چهارشنبه 14 دی 1390, 08:38 صبح
سلام . آره می تونی .
مثلاً یه دکمه توی فرم هست برای اینکه چپ چین بشه این کد :
Private Sub Form_Resize()
Command1.Left = Me.Left
End Sub
برای راست چین کردن
Private Sub Form_Resize()
Command1.Left = Me.Width - 1500
End Sub
که اون 1500 رو می تونی به دلخواه خودت تغییر بدی و اون عددی که مناسب هست رو انتخاب کنی
Veteran
چهارشنبه 14 دی 1390, 08:59 صبح
خیلی ممنون اما منظور من این نبود
مثلا دیدین شما یک چک باکس دارین اون مربع کوچیکه که تیک میخوره سمت چپ هست اگه خاصیت right to left اون رو true بدیم بیاد سمت راست
البته این یک مثال بود که درک کنید
و گرنه میشه با خاصیت alignment چک باکس رو بزاریم روی right justify تا این کار انجام بشه
میخوام ببینم این کار قابل شدن هست یا نه
تشکر
ASedJavad
پنج شنبه 15 دی 1390, 01:31 صبح
سلام
همه رو نه ولی خیلی ها رو میشه:
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const WS_EX_LAYOUTRTL = &H400000
Private Const GWL_EXSTYLE = (-20)
Public Sub SetRtoL(Ctl As Control)
Ctl.Visible = False
SetWindowLong Ctl.hWnd, GWL_EXSTYLE, GetWindowLong(Ctl.hWnd, GWL_EXSTYLE) Or WS_EX_LAYOUTRTL
Ctl.Visible = True
End Sub
Veteran
پنج شنبه 15 دی 1390, 09:28 صبح
ارور type mismatch میده
طرز کارش به چه صورت هست ؟
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const WS_EX_LAYOUTRTL = &H400000
Private Const GWL_EXSTYLE = (-20)
Public Sub SetRtoL(Ctl As Control)
Ctl.Visible = False
SetWindowLong Ctl.hWnd, GWL_EXSTYLE, GetWindowLong(Ctl.hWnd, GWL_EXSTYLE) Or WS_EX_LAYOUTRTL
Ctl.Visible = True
End Sub
Private Sub Command1_Click()
SetRtoL (Option1)
End Sub
ASedJavad
پنج شنبه 15 دی 1390, 11:48 صبح
اولا شما option1 رو از تو پرانتز دربیار یعنی بنویس SetRtoL Option1
دوما این رو هم به اول فرمت اضافه کن:
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.