up,
我在例子里,看到这样写的:
proceduer inittreeview1();
我在例子里,看到这样写的:
proceduer inittreeview1();
解决方案 »
- Delphi 2009 调用 dll时 MessageDlg "Cannot assign a TFont to a TFont"
- test
- 关于使用Indy写TCPServer的问题(小弟是初学者,分都用玩了抱歉)。
- 变猩猩,继续散分。
- 在DELPHI写的程序中如何按回车键跳到下一个控件文本框中进行输入?
- 关于ftp的问题(急)
- 我在动态生成Tabsheet,并将已设计好的Tabsheet上面的所有组件克隆到新生成的Tabsheet上面的时候遇到困难,请大家帮忙。
- 能否Set ListView的TopItem?
- report 报表中如何在每一页上都显示打印表头
- 怎样取得WINDOWS的系统目录呢?
- 用Tedit动态生成的多个Edit控件,如何调用Align排列整齐(或其它方法).
- 我使用了一个有版权的控件开发软件进行收费,这算不算侵权??
你仔细找一找,肯定可以找到执行的地方,
这么写估计是为了看起来形象,
在 事件中没有的过程,
在定义的地方必须增加 override 实现重载,
那些过程可以重载你自己找找帮助,
在 该对象的祖先对象中
直接就用 procedure init
我用就出错
init的祖先对象是什么?
1、本单元中的自定义的过程;
2、在USES的某个单元中定义的过程
当然也可能调用了某个DLL中的过程,等
偶去掉了:procerdure inittreeview1;这个声明,
在formshow事件写下:inittreeview1;
在程序里直接引用:
procerdure inittreeview1;
begin
……
end;
既然编译过了,执行的也好,不可思议,why?
init不是对象,没有什么祖先对象
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, ComCtrls, ImgList, CheckLst;type
Tf_yhgl = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
TreeView1: TTreeView;
GroupBox4: TGroupBox;
Button1: TButton;
Button2: TButton;
Button4: TButton;
ImageList1: TImageList;
Button5: TButton;
Button6: TButton;
CheckListBox1: TCheckListBox;
procedure Button1Click(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure TreeView1DblClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
f_yhgl: Tf_yhgl;
index:integer;
qxb:boolean;
i:integer;
qxs:string;
implementationuses Untdata, untlogin;{$R *.DFM}procedure Tf_yhgl.Button1Click(Sender: TObject);
var
newnode:ttreenode;
begin
if treeview1.selected.text='超级用户' then
begin
newnode:=treeview1.items.addchild(treeview1.selected,'新用户');
newnode:=treeview1.items.addchild(newnode,'name');
newnode.imageindex:=2;
newnode.selectedindex:=2;
newnode:=treeview1.items.add(newnode,'passwd');
newnode.imageindex:=3;
newnode.selectedindex:=3;
end
else
if treeview1.selected.text='普通用户' then
begin
newnode:=treeview1.items.addchild(treeview1.selected,'新用户');
newnode.imageindex:=1;
newnode.selectedindex:=1;
newnode:=treeview1.items.addchild(newnode,'name');
newnode.imageindex:=2;
newnode.selectedindex:=2;
newnode:=treeview1.items.add(newnode,'passwd');
newnode.imageindex:=3;
newnode.selectedindex:=3;
end
else
exit;
end;procedure Tf_yhgl.TreeView1Click(Sender: TObject);
begin
data.qu_yhgl.close;
data.qu_yhgl.parambyname('alias').value:=treeview1.selected.text;
data.qu_yhgl.open;
if data.qu_yhgl.recordcount=1 then
begin
qxs:=data.qu_yhgl.fieldbyname('qx').asstring;
for i:=1 to length(qxs) do
begin
if qxs[i]='1' then qxb:=true else qxb:=false;
case i of
1:CheckListBox1.Checked[0]:=qxb;
2:CheckListBox1.Checked[1]:=qxb;
3:CheckListBox1.Checked[2]:=qxb;
4:CheckListBox1.Checked[3]:=qxb;
5:CheckListBox1.Checked[4]:=qxb;
6:CheckListBox1.Checked[5]:=qxb;
7:CheckListBox1.Checked[6]:=qxb;
8:CheckListBox1.Checked[7]:=qxb;
9:CheckListBox1.Checked[8]:=qxb;
end ;
end;
end;
end;procedure Tf_yhgl.Button2Click(Sender: TObject);
begin
data.qu_yhgl.close;
data.qu_yhgl.parambyname('alias').value:=treeview1.selected.text;
data.Qu_yhgl.open;
if data.qu_yhgl.recordcount=1 then
Treeview1.selected.delete
else
exit;
end;
procedure Tf_yhgl.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
begin
data.qu_yhgls.close;
data.Qu_yhgls.open;
if data.qu_yhgls.recordcount=0 then
begin
treeview1.Items[0].Expand(true);
end
else
exit;
end;procedure Tf_yhgl.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if TreeView1.GetNodeAt(X,Y)<>nil then
if (TreeView1.GetNodeAt(X,y).Text='超级用户') or (TreeView1.GetNodeAt(X,y).Text='普通用户') then
TreeView1.ReadOnly:=true
else
TreeView1.ReadOnly:=false;end;procedure Tf_yhgl.TreeView1DblClick(Sender: TObject);
begin
treeview1.selected.edittext;
end;procedure inittreeview1();
begin
f_yhgl.button1.caption:='dfgfh';######################################## 1
end;procedure Tf_yhgl.FormShow(Sender: TObject);
begin
inittreeview1;
end;end.1,处被执行了
procedure Tf_yhgl.FormShow(Sender: TObject);
在form显示的时候会自动执行,
然后调用 inittreeview1过程,你有什么不理解的吗
向init这些自己写的过程叫什么?还有其他的吗?
另外,偶在程序里打开了treeview的节点,然后关闭窗体,以其他身份再登录,
这时候,刚才被打开的treeview节点仍是打开着的,用有什么办法,能使treeview在
其所在的窗体被关闭后,处于全部收缩的状态?
谢谢
完成了,就没有tree了