在 DragDrop 的时候,滚动 TreeView 当高度不够的时候   procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;  State: TDragState; var Accept: Boolean);begin  if (y < 15) then   {On the upper edge - should scroll up }     SendMessage(TreeView1.Hand…
//文件或目录转换成 TreeViewprocedure DirToTreeView(Tree: TTreeView; Directory: string; Root: TTreeNode; IncludeFiles:  Boolean);var  SearchRec         : TSearchRec;  ItemTemp          : TTreeNode;begin  with Tree.Items do  try    BeginUpdate;    if Directory…
今天帮忙修了一个bug, 在拖动TreeViewItem时,需要滚动TreeView向前翻页,或向后翻页. 思路: 1.找到TreeView控件里的ItemsControl 2.找到ItemsControl里的ScrollViewer 3.判断当前每个Item的高度 4.通过GetCursorPos获取屏幕绝对坐标 5.通过ItemsControl的PointFromScreen把屏幕坐标转为相对于ItemsControl的客户坐标 6.判断当前坐标是否超出第一Item或者最后一个Item 7.…
Delphi实现对鼠标上下滚动基础消息的截获并处理 前几天有客户提出需求:由于个人PC界面限制,有时候电子图档显示不全,希望通过鼠标上下滚动用来控制电子图档的放大和缩小. 下面通过一个测试Demo来说明一下. 新建一个WinFrm应用程序,添加一个RzMemo.ApplicationEvents控件,如下所示. 添加ApplicationEvents控件的OnMessage事件,关键代码如下: procedure TForm1.ApplicationEvents1Message(var Msg:…
很好用的一个列表控件,可以用来代替Delphi自带的ListView和TreeView,而且也一直在更新,目前已经支持最新的XE2 官方网站:http://www.soft-gems.net SVN地址:http://virtual-treeview.googlecode.com/svn/trunk 基本的使用方法就不多说了,可以看看Demo,或者百度一下还是有些教程的.我这里只记录一些属性方法等,方便查阅 [属性] EditDelay = 单元格编辑响应时间HintAnimation = Hi…
procedure TForm1.TreeView1MouseMove(Sender: TObject; Shift: TShiftState;   X, Y: Integer); var   Node: TTreeNode; begin   with TreeView1 do   begin     Node := GetNodeAt(X, Y);     ShowHint := (Node <> nil);     if ShowHint then     begin       Hint…
    DELPHI TreeView 文件目录树和 设置节点图标   下载地址 http://download.csdn.net/detail/teststudio/6448293     需要制作文档管理软件 这个非常有用的 1 文件夹 设置图标为  2 文件夹里没有文件的文件夹 设置图标为 没有  3 .HTML文档 设置图标为 4 有附件的 文档设置图标为    DELPHI XE 5测试通过 unit Unit1; interface uses Windows, Messages, S…
TreeView是Delphi中使用频率比较高的一个控件,虽然使用次数很多,但总结不够.借着这次做GDW原型的机会总结一下,写的过程中也会参考网上的博文. TTreeView.TTreeNodes和TTreeNode TTreeView由节点构成,建树通过对TreeView.items属性进行操作.Items是一个TTreeNodes对象,这是一个TTreeNode集. 常用的属性 Count,结点个数: Item[index],通过index得到结点: TTreeNode.Data,指向一个指…
procedure TForm1.WMSysCommand(var Message: TWMSysCommand); var str: string; begin case Message.CmdType of SC_SIZE : str := 'SIZE '; SC_MOVE : str := 'MOVE '; SC_MINIMIZE : str := 'MINIMIZE '; SC_MAXIMIZE : str := 'MAXIMIZE '; SC_NEXTWINDOW : str := '…
方法一:delphi中递归算法构建treeView 过程:通过读取数据库中table1的数据,来构建一颗树.table1有两个字段:ID,preID,即当前结点标志和父结点标志.所以整个树的表示为父母表示法.本递归算法不难写,但是要注意:程序内部的变量都应使用局部变量!比如当Query是外部变量(函数外定义或者直接通过控件拖拽得来)时就会得到错误的结果.代码如下: unit Unit1; interface uses  Windows, Messages, SysUtils, Variants,…