自己实现拖动条两端的那个小方向按钮功能。鼠标按下事件。求大哥大姐帮忙!

xiaoluoli 2007-01-30 03:04:55
自己拖一个按钮,在按钮点击事件中处理以下事件,来实现拖动scrollbox的拖动条:
VertScrollBar->Position += WheelDelta;
Handled = true;
------------------------------
现在的问题是想实现:当按住此按钮不放时,实现滚动条不断的移动,相对于滚动条两端的那个小方向按钮功能。
void __fastcall TForm1::ListBox1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
//。。。。
}

请赐教!!!
...全文
230 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoluoli 2007-01-31
  • 打赏
  • 举报
回复
我是这样做的,在按钮的onmousedown事件中 用个循环执行VerzScrollBar->Position +=8语句
关键是循环的结束应该是在onmouseup事件发生时结束,,所以我不知道怎么写循环条件

是不是应该在onmouseup事件中用发送消息给“此按钮”来终止onmousedown事件中的循环呢?
我对消息不是很清楚请大哥们帮忙,谢谢!
xiaoluoli 2007-01-31
  • 打赏
  • 举报
回复
constantine(飘遥的安吉儿) (
好像方法行得同,能具体点吗?
我现在关键就是不知道怎么按下去后再弹起就根本不相应弹起事件了
constantine 2007-01-31
  • 打赏
  • 举报
回复
用个定时器给他发滚动消息
然后在按钮的mousedown,mouseup事件中控制timer的状态。
xiaoluoli 2007-01-31
  • 打赏
  • 举报
回复
帮忙啊
xiaoluoli 2007-01-30
  • 打赏
  • 举报
回复
求求各位大哥帮帮小弟阿
xiaoluoli 2007-01-30
  • 打赏
  • 举报
回复
先谢谢wood542344,能不能说得再详细点,我对消息处理不是很熟悉
wood542344 2007-01-30
  • 打赏
  • 举报
回复
你可以在mouseup事件里发出一个停止++的消息sendMessage(,,1,0)。
在mousedown里做一个while(Msg.lprama != 1&& VertScrollBar->Position == MAX)
我只是说一种方法,具体程序可不是这样写的哦。
xiaoluoli 2007-01-30
  • 打赏
  • 举报
回复
不好意思写错字了:
自己拖一个按钮,在按钮点击事件中处理以下事件,来实现拖动scrollbox的拖动条:
VertScrollBar->Position += 8;
Handled = true;
------------------------------
现在的问题是想实现:当按住此按钮不放时,实现滚动条不断的移动,相当于滚动条两端的那个小方向按钮功能。
xiaoluoli 2007-01-30
  • 打赏
  • 举报
回复
自己拖一个按钮,在按钮点击事件中处理以下事件,来实现拖动scrollbox的拖动条:
VertScrollBar->Position += 8;
Handled = true;
------------------------------
现在的问题是想实现:当按住此按钮不放时,实现滚动条不断的移动,相对于滚动条两端的那个小方向按钮功能。
void __fastcall TForm1::ListBox1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
//。。。。
}

请赐教!!!

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧