自动做吧老弟,响应TREEVIEW中的鼠标事件,判断当前位置,然后决定该上滚还是下滚.
解决方案 »
- 求delphi代码注入的实现方法
- sql 数据保存的问题;
- try except end;的问题, 我连的是access,不知道怎么控制,在线等呀
- 如何用clientdataset 更新不同的数据表?急急 急 请高手入
- 怎样将整形转化为double类型,又怎样将得到除法的single结果,再现等待,急急
- 一个关于票据打印问题
- 请问:调用QuickRep.PreviewModel这个方法后,关闭其拥有者时,报系统错误“无效的窗体句柄”。(并不是所有的这类应用都报,有几个不报,
- 谁有把$125这样的数字转化为英文表达one hundred and twenty five的程序?
- 救命~~~ 急急急!!!!Barcode控件 如何在Quickreport上打印
- 关于bdgrid的问题,高手请来,一定高分相送!!!!急
- 对等局域网中A机的程序窗口中有一个有内容的TEDIT控件,B机如何获得A机TEDIT控件的内容??,已知A机IP地址和窗口标题。
- 关于编写从TWinControl继承下来的控件
估计不会太难吧
要用到
onmousedown() onmouseover() onmousemove() 三个事件
建议作成这样:在 TreeView 里按下右键(或别的按键或键盘热键)时,再跟着鼠标动。
1.从TTreeView继承,创建一个新的控件TScrollTreeView
2.处理TScrollTreeView的CM_MOUSEENTER消息,这是一个VCL的内部消息。在这个消息中记录鼠标进入到TScrollTreeView时的X,Y位置(GetCursorPos,ScreenToClient)
3.鼠标在TScrollTreeView中移动是,计算鼠标移动的偏移距离,然后向TScrollTreeView发送
WM_VSCROLL和WM_HSCROLL消息.模拟滚动条的滚动。
PostMessage(TreeView1.Handle, WM_VSCROLL, SB_LINEDOWN, 0)
else if Y < 10 then
PostMessage(TreeView1.Handle, WM_VSCROLL, SB_LINEUP, 0)