StringGrid有多行,用鼠标向下拖动可选中若干行。若鼠标按下后保持按键动作并一直向下拖动,直至鼠标移除StringGrid范围。这时StringGrid中的行会不停向上翻滚,滚动条也会相应调整位置。现在由于程序的需要,我只载入了恰好对应StringGrid的可视部分一页大小的内容到StringGrid,把StringGrid的行数也设为一页的行数,同时把StringGrid的滚动条屏蔽掉,再另外添加一个垂直滚动条代替它,在滚动条的change事件中动态计算需要显示的部分并填写到StringGrid中。由于StringGrid至始至终都只有一页,默认情况下也就无法实现鼠标拖出框外时,框中的行自动翻滚,滚动条页自动滚动的效果。我现在就想通过代码实现拖动时具有翻滚效果这个目的。其实就是想达到虽然只是动态载入一小部分数据,但是操作起来的感觉就像已经一次性载入大量的行到StringGrid后的效果。现在想问,“按下鼠标不放,一直拖动直至移除框外”这一动作应该在哪几个鼠标事件中填写代码?
解决方案 »
- TDBRadioGroup 无法被选中
- 用DCC32.exe编译出错
- sql特殊的分组查询,
- delphi数组索引是从1到最大值,而在引用Form上的控件时候,索
- 我想把project里的一个procedure抽出来另外做一个pas文件插入原project中,请问怎样实现
- 如何实现每页打印标题,我用的是QuickRep。高分请都高手。
- 整型量跟实型量运算的问题.
- 劉藝 新書 ''Delphi面向对象编程思想'',界面和业务对象的分离,值得參考
- 求李锐那本软件工程下载网址.
- DIOCP开源项目-高效稳定的服务端解决方案(DIOCP + 无锁队列 + ZermMQ + QWorkers) 出炉了
- 问一个打印的问题:如何判断一条记录是否打印过?
- 关于dbchart图表组件
拖动:MouseMove
到窗外:FORM的MouseMove
放下:FORM的MoseDown
按下:MouseDown
拖动:MouseMove
不同意:
到窗外:FORM的MouseMove
放下:FORM的MoseDown