我的一个窗体非常的简单,只是用来添加主窗体treeview1的节点,但是在用uses调用mainform窗体之后还是取不到treeview1的trreenode函数,不知要在此窗体中定义什么才能在此窗体中取到ttreenode,并为此窗体代码编写所用,代码如下,请大家帮手一下,此问题应不大,只是本人不知,查又查不到:代码如下:
unit addgroup;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
Taddgroupfrm = class(TForm)
Panel1: TPanel;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
addgroupfrm: Taddgroupfrm;
implementation
uses mainform; //此处我调用了主窗体,但是却取不到该窗体中treeview1的ttreenode函数
{$R *.dfm}
procedure Taddgroupfrm.Button1Click(Sender: TObject);
var
strname:string;
//mynode:ttreenode; //此处的ttreenode;就没有办法编译的过了,不知怎样才能让它成立
begin
strname:=edit2.Text;
strname:=trim(strname);
if strname='' then
exit;
//mynode:=formain.TreeView1.Items.AddChild(formain.TreeView1.Selected,strname);
//adddatatodb(mynode,formain.TreeView1.Selected);
//mynode.selected:=true; //以上三行代码自也无法成立了,因此我必须要此函数,否则就无法
end; 实现所要的功能
unit addgroup;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
Taddgroupfrm = class(TForm)
Panel1: TPanel;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
addgroupfrm: Taddgroupfrm;
implementation
uses mainform; //此处我调用了主窗体,但是却取不到该窗体中treeview1的ttreenode函数
{$R *.dfm}
procedure Taddgroupfrm.Button1Click(Sender: TObject);
var
strname:string;
//mynode:ttreenode; //此处的ttreenode;就没有办法编译的过了,不知怎样才能让它成立
begin
strname:=edit2.Text;
strname:=trim(strname);
if strname='' then
exit;
//mynode:=formain.TreeView1.Items.AddChild(formain.TreeView1.Selected,strname);
//adddatatodb(mynode,formain.TreeView1.Selected);
//mynode.selected:=true; //以上三行代码自也无法成立了,因此我必须要此函数,否则就无法
end; 实现所要的功能
---------------------------------------
应该是uses mainform所对应的单元啊
改了看看
Nodes: TTreeNodes;
Node: TTreeNode;
begin
dm.ADQ_QX.Active := false;
dm.ADQ_QX.SQL.Clear;
dm.ADQ_QX.SQL.Add('select 1,2,3 from xxx order by convert(int,1)');
dm.ADQ_QX.Active := true;
Nodes := TTreeNodes.Create(Treeview1);
node := TTreeNode.Create(nodes);
TreeView1.Items.Add(node,dm.ADQ_QX.fieldbyname(3).Text);
dm.ADQ_QX.Next;
for i := 0 to dm.ADQ_QX.RecordCount - 2 do
begin
for j := 0 to treeview1.Items.Count - 1 do
begin
if copy(treeview1.Items[j].Text,pos(']',treeview1.Items[j].Text) + 1,length(treeview1.Items[j].Text)) = dm.ADQ_QX.FieldByName(2).Text then
begin
node := treeview1.Items[j];
TreeView1.Items.AddChild(node,'[' + dm.ADQ_QX.fieldbyname(1).Text + ']' + dm.ADQ_QX.fieldbyname(3).Text);
end;
end;
dm.ADQ_QX.Next;
end;
for i := 0 to treeview1.Items.Count - 1 do
begin
treeview1.Items[i].ImageIndex := 0;
treeview1.Items[i].SelectedIndex := 0;
end; TreeView1DblClick(self);
TreeView1DblClick(self); TreeView1.Items[0].Expanded := false;
end;
mTreeView:tv:TTreeview;
...procedure ShowAddGroup(tv:TTreeview);implementationprocedure ShowAddGroup(tv:TTreeview);
var
mDlg:Taddgroupfrm;
begin
mDlg:=Taddgroupfrm.Create(Application);
mTreeView:=tv;
mDlg.ShowModal;end;在主窗体中引用该单元调用该函数