PDA

View Full Version : مشکل راست چین در DBTreeview



shareh
یک شنبه 23 تیر 1387, 07:29 صبح
با سلام
من از کامپوننت DBTreeview استفاده میکنم
اما این کامپوننت یک مشکل با راست چین داره.
وقتی روی سرشاخه کلید میکنی که باز کنه اگه اندازه یکی شاخه طولانی باشه اسکرول افقی به اخر میره

این عکس اون هست :
http://behroze.elyasi.googlepages.com/1.gif

در حالیه باید اینطور نمایش بده :

http://behroze.elyasi.googlepages.com/2.gif

behrooz
دوشنبه 24 تیر 1387, 09:44 صبح
دوست عزیز شما قبل از زدن پست یه جستجو تو سایت بکنی برا سلامتی خودت خوبه خاصیت داره!!


http://barnamenevis.org/forum/showthread.php?t=59221&highlight=DBTreeview

solook
دوشنبه 24 تیر 1387, 09:50 صبح
دوست عزیز گویا شما متوجه سوال نشدید

از همان کامپوننتی که در ادرس فوق گذاشته شده این مشکل هست .همون کامپوننت:Dynamic DBTreeView controls v 1.9 (http://www.table-report.com/products.php)

مشکلش اینه
مثلا شاخه فرزندی که نسبت به دیگر شاخه طولانی تر باشه((که در نتیجه باعث فعال شدن اسکرول افقی میشه ))اگه در لیست درختی موجود باشه به محض اینکه اون رو باز میکنم می پره به اتنهای اون نوشته جوری که اگه بخواهی برگردی سرشاخه اصلی رو ببینی باید اسکرول رو برگردونی به عقب
این مشکل در حالت چپ چین نیست اما وقتی راست چین میشه این مشکله داره..
عکس بالایی به خوبی نشون میده..

amin_alexi
دوشنبه 24 تیر 1387, 10:10 صبح
خودت بدون Component هم میتونی راست چین کنی !!


Procedure SetWinControlBiDi(Control: TWinControl);
Var
ExStyle: Longint;
Begin
ExStyle := GetWindowLong(Control.Handle, GWL_EXSTYLE);
SetWindowLong(Control.Handle, GWL_EXSTYLE, ExStyle or WS_EX_RTLREADING or WS_EX_RIGHT
or WS_EX_LAYOUTRTL or WS_EX_NOINHERITLAYOUT );
End;


ورودی تابع Control v رو یک TreeView بزار راست چین میشه ...
بهتره تو FormCreate این کار رو بکنی
ببین با این به نتیجه میرسی ؟

solook
دوشنبه 24 تیر 1387, 10:46 صبح
با تشکر

این کد بعضی جاها مشکل داره...
با vclskin هم مشکل داره..

به هرحال من دنبال راهی میگردم که اون کامپوننت خوب کار کنه..

solook
جمعه 04 مرداد 1387, 06:06 صبح
رویداد OnClick


PostMessage(DTADOTree1.Handle,WM_HSCROLL,SB_RIGHT, 0);