请教各位大哥,在使用treeview时 -----A
| |
| ---B
|
|
-----C
|
---D
我想在选中 C 单击右健时定义菜单选项事件(上移,下移)可以将C下面的子目录D 上移到A下面去 ,同理在右健也可将B 下移到C下面去, 用到 哪些方法,事件,还望给位高手指点,有高分,谢谢,
| |
| ---B
|
|
-----C
|
---D
我想在选中 C 单击右健时定义菜单选项事件(上移,下移)可以将C下面的子目录D 上移到A下面去 ,同理在右健也可将B 下移到C下面去, 用到 哪些方法,事件,还望给位高手指点,有高分,谢谢,
http://www.vckbase.com/document/viewdoc.asp?id=340
大哥有没有delphi的源码
谢谢Firec(Firec)
大哥能否说得更详细一些
谢谢
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Menus;type
TMainForm = class(TForm)
TreeView1: TTreeView;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure TreeView1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
MainForm: TMainForm;implementation{$R *.dfm}procedure TMainForm.FormCreate(Sender: TObject);
var
Node: TTreeNode;
begin
Node := TreeView1.Items.AddChild(nil, 'A');
TreeView1.Items.AddChild(Node, 'B'); Node := TreeView1.Items.AddChild(nil, 'C');
TreeView1.Items.AddChild(Node, 'D');
TreeView1.ShowButtons := False;
TreeView1.FullExpand;
end;procedure TMainForm.TreeView1ContextPopup(Sender: TObject;
MousePos: TPoint; var Handled: Boolean);
var
Node: TTreeNode;
pt: TPoint;
begin
Node := TreeView1.GetNodeAt(MousePos.X, MousePos.Y);
if Node <> nil then
begin
TreeView1.Selected := Node;
pt := TreeView1.ClientToScreen(MousePos);
PopupMenu1.Popup(pt.X, pt.Y);
end;
end;procedure TMainForm.N1Click(Sender: TObject);
begin
if TreeView1.Selected.Parent <> nil then
TreeView1.Selected.MoveTo(TreeView1.Selected.Parent, naInsert);
end;procedure TMainForm.N2Click(Sender: TObject);
begin
if TreeView1.Selected.Parent <> nil then
TreeView1.Selected.MoveTo(TreeView1.Selected.Parent.getNextSibling, naAdd);
end;end.
大哥,万分感谢。能否给小弟留个email,希望能够经常向您请教