起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: newjack

[请求]北京图王的VG控件转X3控件时报错**

[复制链接]
 楼主| 发表于 2008-1-9 17:37:50 | 显示全部楼层
导入成功。

使用的时候,打开一个tbl文件,工具区中并没有显示。

而同样的代码,在别的语言中正常。

vgctrl.rar

353.61 KB, 下载次数: 57

回复 支持 反对

使用道具 举报

发表于 2008-1-10 08:51:36 | 显示全部楼层
用什么打开tbl文件,什么工具区没有显示?
贴图描述一下
回复 支持 反对

使用道具 举报

发表于 2008-1-10 11:03:21 | 显示全部楼层
楼主测试delphi的例子程序给我一下,我不会用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-10 11:09:57 | 显示全部楼层
这是运行时的效果图

1.png

44.34 KB, 下载次数: 100

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-10 11:12:16 | 显示全部楼层
procedure TMainForm.vgctrl1RButtonDown(Sender: TObject; x, y: Double);
var
ASheet : ISheet;
AUnit : IUnit;
begin
ASheet := vgctrl1.ActiveSheet;
AUnit := ASheet.UnitAtPoint( X, Y, nil );
if AUnit<>nil then Dialogs.Showmessage( '您在图形:' + AUnit.Name + ' 上按下了右键!' );
end;

procedure TMainForm.vgctrl1SheetChange(Sender: TObject; const ASheet: ISheet);
begin
     if vgctrl1.ActiveSheet<>nil then
     begin
     vgctrl1.ActiveSheet.SetPropertyValue('cursheet', vgctrl3.ActiveSheet);
     vgctrl2.ActiveSheet.SetPropertyValue('cursheet', vgctrl3.ActiveSheet);
     vgctrl4.ActiveSheet.SetPropertyValue('cursheet', vgctrl3.ActiveSheet);
     vgctrl5.ActiveSheet.SetPropertyValue('cursheet', vgctrl3.ActiveSheet);
     end;
end;

procedure TMainForm.BizFormShow(Sender: TObject);
var
   s:    string;
begin
     s := vgctrl1.Execute( 'return SystemParams.DefaultPath' ).ToString();
     vgctrl1.Run(s+'toolbar.tbl');
     vgctrl2.Run(s+'listview.tbl');
     vgctrl5.Run(s+'statusbar.tbl');
     vgctrl4.Run(s+'propedit.tbl');

     vgctrl3.Design( '' );

     vgctrl1SheetChange(Sender, vgctrl3.ActiveSheet);

     //vgctrl3.LoadFromFile(s+'\..\demo\电力\电气主接线图(500KV).tbl');

     vgctrl2.Execute('systemparams.GraphDriver=1');
end;

procedure TMainForm.vgctrl3SelectChange(Sender: TObject);
var
   s:string;
begin
     vgctrl4.ActiveSheet.SetPropertyValue('selected', vgctrl3.ActiveSheet.Selection);
     vgctrl1.Execute('OnSelectChange()');
     vgctrl1.Execute('btnUndo.Enable=CurSheet.Owner.CanUndo()');
     vgctrl1.Execute('btnRedo.Enable=CurSheet.Owner.CanRedo()');
     //s := 'SetMsg( 1,"["+str(' + SysUtils.FloatToStr(vgctrl3.ActiveSheet.Selection.Left ) + ',3)+","+ ';
     //s := s+'Str(' + SysUtils.FloatToStr(vgctrl3.ActiveSheet.Selection.Top) + ',3) + "]-[" +';
     //s := s+'str(' + SysUtils.FloatToStr(vgctrl3.ActiveSheet.Selection.Width) + ',3)+","+ ';
     //s := s+'Str(' + SysUtils.FloatToStr(vgctrl3.ActiveSheet.Selection.Height) + ',3) + "]" )';
     //vgctrl4.Execute(s);
end;

procedure TMainForm.BizFormClose(Sender: TObject; var Action: TCloseAction);
begin
    vgctrl2.Execute('systemparams.GraphDriver=0');
end;

procedure TMainForm.vgctrl3MouseMove(Sender: TObject; x, y: Double);
begin
   vgctrl5.Execute('SetMsg( 2,str(' + SysUtils.FloatToStr(x) + ',3)+","+Str(' + SysUtils.FloatToStr(y) + ',3) );DisplayUnit()');
end;
这是测试代码。
回复 支持 反对

使用道具 举报

发表于 2008-1-10 11:26:50 | 显示全部楼层
tbl文件我没有。我在delphi里面怎么就一个白框?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-10 11:29:32 | 显示全部楼层
http://www.visual-graph.com/down/index.htm
这里下载一个安装,就有了

demo目录里面很多例子
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-10 11:31:31 | 显示全部楼层
你改了我的帖子代码?

改了哪里?没看出来。

对了,刚才我在Delphi6上试,正常的哦
回复 支持 反对

使用道具 举报

发表于 2008-1-10 11:54:08 | 显示全部楼层
我测试了,一样效果、
delphi

1.png

113.15 KB, 下载次数: 111

回复 支持 反对

使用道具 举报

发表于 2008-1-10 11:54:54 | 显示全部楼层
代码没变
procedure TMainForm.Button1Click(Sender: TObject);
var
    s:string;
begin
s:='E:X3Importer图王\vgctrl2008vgdat';
vgctrl1.Run(s+'toolbar.tbl');
     vgctrl2.Run(s+'listview.tbl');
     vgctrl3.Run(s+'statusbar.tbl');
     vgctrl4.Run(s+'propedit.tbl');
end;

x3

2.png

72.26 KB, 下载次数: 113

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-6 13:40 , Processed in 0.040985 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表