View Full Version : سوال: راست به چپ در treeview
gh_khajehzade
یک شنبه 07 دی 1393, 09:15 صبح
سلام به دوستان عزیز
میشه treeview رو راست به چپ کرد؟
akbar_2020
سه شنبه 09 دی 1393, 12:59 عصر
شما باید همینطور که یک پنجره رو راست به چپ میکنید (غیر از قرار دادن Righttoleft=.t.) ،کنترل درخت رو هم راست به چپ کنید. در واقع این کنترل یک هندل به اسم hWnd دارد که باید اون رو پاس بدید، کد زیر رو امتحان کنید در init کنترل tree:
[
#DEFINE GWL_EXSTYLE -20
#DEFINE WS_EX_LAYOUTRTL 0x400000
#DEFINE WS_EX_NOINHERITLAYOUT 0x100000
*-- Define the Get window long API
DECLARE INTEGER GetWindowLong IN user32;
INTEGER hWnd, INTEGER nIndex
*-- Define the Set window long API
DECLARE INTEGER SetWindowLong IN user32;
INTEGER hWnd, INTEGER nIndex, INTEGER dwNewLong
*-- Get this form's current style.
OldLong = GetWindowLong(ThisForm.HWnd, GWL_EXSTYLE)
*-- Set the window extended style RTL non-inheritable.
SetWindowLong(This.hWnd,GWL_EXSTYLE,;
BITOR(OldLong,WS_EX_LAYOUTRTL,WS_EX_NOINHERITLAYOU T))
farhad_shiri_ex
شنبه 13 دی 1393, 13:52 عصر
تابع SetWindowlong با ارسال پارامترهای 0x400000و0x100000 باعث Mirror شدن کنترلها میشه نه Right To Left شدنشون تمامی کنترلهایی که Handle number دارند که البته تو وی فاکس تو کنترلهای استانداردش فقط فرم اصلی HWND داره.
gh_khajehzade
یک شنبه 14 دی 1393, 07:58 صبح
ضمن تشکر از جنابعالی, موردی رو که میخواستم با کد پیشنهادی دوست عزیزمون akbar_2020 انجام شد.شاید منظور شما اینه که برای تایپ فارسی مفید نیست که خوب در treeview نیازی به تایپ نیست.
farhad_shiri_ex
یک شنبه 14 دی 1393, 08:58 صبح
خیر! منظورم این بود که خاصیت Right To Left با Mirror شدن زمین تا زیر زمین فرق میکنه!
و در ضمن تو Tree هم میشود تایپ کرد منظور از نیازی نیست یعنی چی !!!! یعنی شما نیاز ندارید!!!!
لطفا اطلاعاتتون کامل کنید بعد نظر بدید که اگر دو نفر هم که بلد نیستن میان اینجا یه چیزی یاد بگیرن نه اینکه گمراه بشن !
مثلا تو همین پست دوستمون خیلی گنگ توضیح دادن !!!
1- HWND چی ! چرا باید برای API ارسالش کنیم؟
2- ثابتهایی که تعریف شده اند که به عنوان پارامتر ارسال شوند چرا باید با آدرس هگز باشن و نماینگر چی هستن ؟
3- تابع GetWindowLong چه کاری میکنه ؟
4- تابع SetWindowLong چه کاری میکنه ؟
5- چرا از تابع BITOR استفاده شده است ؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.