利用Delphi中的画布画树(4)

2008-04-11 12:27:04来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


lstdate.WriteBool(curid,''''Selected'''',curobj.Selected);
lstdate.WriteString(curid,''''FNode'''',curobj.FNode);
lstdate.WriteBool(curid,''''Showed'''',curobj.showed);
end;
end;
end;

procedure TFrm_Tree.RANDOMRandomselection1Click(Sender: TObject);
var
selfile :String;
//curid:string;
lstdate:TIniFile32;
i,j:integer;
begin
if OpenDialog1.Execute then
begin
selfile:=OpenDialog1.FileName;
clicked:=false;
PaintBox1.Canvas.FillRect(rect(0,0,PaintBox1.Width,PaintBox1.Height));
OLst.Clear;
Root:=true;
SelID:='''''''';
SearilID:=0;
lstdate:=TIniFile32.Create(selfile);
j:=lstdate.ReadInteger(''''Title'''',''''Num'''',0);
for i:=1 to j do
begin
addobj(lstdate.Readstring(inttostr(i),''''ObjID'''',''''''''),lstdate.ReadInteger(inttostr(i),''''CenterX'''',0),lstdate.ReadInteger(inttostr(i),''''CenterY'''',0),lstdate.ReadInteger(inttostr(i),''''TypeNo'''',0),lstdate.ReadBool(inttostr(i),''''Selected'''',true),lstdate.Readstring(inttostr(i),''''FNode'''',''''''''),lstdate.ReadBool(inttostr(i),''''Showed'''',true));
end;
SearilID:=j;
Root:=false;
DrawFull;
end;
end;

procedure TFrm_Tree.Button7Click(Sender: TObject);
begin
ToolNO:=5;
end;

procedure TFrm_Tree.movenode(dx, dy: integer;id:string);
var
i,j:integer;
curobj:^tobj;
begin
j:=olst.Count;
for I:=0 to j-1 do
begin
if tobj(olst.Items[i]^).FNode=id then
begin
curobj:=getpobj(tobj(olst.Items[i]^).ObjId);
curobj^.CenterX:=curobj^.CenterX dx;
curobj^.CenterY:=curobj^.CenterY dy;
movenode(dx,dy,curobj^.ObjId);
end;
end;
end;

procedure TFrm_Tree.movelocal(dx, dy: integer);
var
i,j:integer;
//curobj:tobj;
begin
j:=olst.Count;
for I:=0 to j-1 do
begin
if tobj(olst.Items[i]^).Selected then
begin
tobj(olst.Items[i]^).CenterX:=tobj(olst.Items[i]^).CenterX dx;
tobj(olst.Items[i]^).Centery:=tobj(olst.Items[i]^).Centery dy;
Break;
end;
end;
end;
end.

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Delphi多层开发方案比较

下一篇:程序快捷方式/程序删除项/EXE自删除DIY