读书人

Scrollbox的滚动条有关问题

发布时间: 2013-08-04 18:26:16 作者: rapoo

Scrollbox的滚动条问题
Scrollbox的滚动条有关问题
需求效果如下,原意是多列横向滚动,但是左边标题保持固定,而垂直方向又需要同时向下滚动,不能使用第三方控件,现在的办法是用了两个scrollbox,右边把左边的滚动条盖住了,然后用ApplicationEvents的onmessage事件把两个scrollbox的位置同步,但是问题是响应事件是在滚动结束之后触发的,导致如果按住滚动条按钮不放就会出现一边往下滚另一边还停留不动的现在,只有松手才会位置同步,哪位兄弟有好的解决办法请赐教,另外就是scrollbox的滚动条滚动事件如何捕获,找了一天也没找到,能捕获的话就可以转变思路了啊
万分感谢
[解决办法]

引用
只有松手才会位置同步



// 改下

procedure TForm1.NewWndProc(var _msg: TMessage);
begin
FOldWndProc(_msg);

with _msg do
begin
case Msg of
WM_VSCROLL:
begin
if WParam <> SB_ENDSCROLL then
begin
scrlbx1.VertScrollBar.Position := WParamHi; // 加上
scrlbx2.VertScrollBar.Position := WParamHi;
end;
end;

WM_HSCROLL:
begin
if WParam <> SB_ENDSCROLL then
begin
scrlbx1.HorzScrollBar.Position := WParamHi; // 加上
scrlbx2.HorzScrollBar.Position := WParamHi;
end;
end;
end;
end;
end;

读书人网 >.NET

热点推荐