PDA

View Full Version : RightToLeft کردن کنترل هایی که این خاصیت را ندارند؟؟



HO457
دوشنبه 08 فروردین 1384, 17:19 عصر
با سلام و تبریک سال نو به همه دوستان میخواستم بدونم کنترل هایی مثل ComponentOne یا Xceed که خاصیت RightToLeft ندارند رو چجوری میشه RightToLeft کرد؟ :گیج:

bashir_nashi
سه شنبه 09 فروردین 1384, 13:48 عصر
سلام.
یه بار تو همین سایت در موردش بحث شده فکر کنم.
بگرد ... :موفق:

HO457
چهارشنبه 10 فروردین 1384, 01:30 صبح
هیج روشی کار نکرد حتی کنترل ها رو Mirror کردم ولی Mirror روی این کنترل ها جواب نمیده متن های منوها و Toolbar ها هم برعکس میشه. روش دیگه ای وجود نداره؟ :گیج:

MM_Mofidi
پنج شنبه 11 فروردین 1384, 22:16 عصر
API But I dont remember TheFunction Name Now :mrgreen:

HO457
پنج شنبه 11 فروردین 1384, 23:48 عصر
ممنون از جوابتون، ولی مشکل من همین تابع هستش. اگه یه جوری بتونین روشش رو بگین ممنون میشم چون خسته شدم از بس روش کار کردم!!! خیلی فوری هستش :sorry: :گیج:

حامد مصافی
جمعه 12 فروردین 1384, 01:38 صبح
API But I dont remember TheFunction Name Now



برای بعضی از کنترل ها ممکنه جواب نده و برای بعضی دیگه ممکنه کنترل به درستی Refresh نشه
به هر حال



Private Const GWL_EXSTYLE = -20
Private Const WS_EX_LAYOUTRTL = &H400000
Private 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

Public Sub RTLForm(hWnd As Long)
Dim OldLong As Long
OldLong = GetWindowLong(hWnd, GWL_EXSTYLE)
SetWindowLong hWnd, GWL_EXSTYLE, OldLong BitOr _
WS_EX_LAYOUTRTL BitOr _
WS_EX_NOINHERITLAYOUT
End Sub

HO457
یک شنبه 14 فروردین 1384, 00:35 صبح
دوست عزیز ممنون، ولی این کد رو نتونستم اجرا کنم، روش Mirror رو هم امتحان کردم ولی نوشته های کنترل هام هم Mirror میشه :mad: