admin管理员组文章数量:1537955
2023年12月12日发(作者:)
ActiveX控件在Delphi中的使用方法
在开始一切工作之前,请确保ActiveX控件已经注册到计算机,请运行系统安装目录下
面“”。
在Delphi6.0中,先要把控件安装进去才能使用。
在菜单上选择Component
选择“Import ”,打开一个对话盒
查看大图
按“”按钮后,询问要把控件加载到哪个包(Package)中。
按“OK”
按“Compile”,编译这个包。
在工具栏上将出现下面两个图标,注意,如果上面“Palette Page”中选择的不是“Standard”,这
两个图标将出现在其他工具页。
左边的控件是主要的Visual Graph ActiveX控件,右边那个是属性列表窗口。
新建一个程序(Application),选择工具栏上左边那个Visual Graph ActiveX控件,在应用程序主
窗口上用鼠标拉框创建一个控件,这个控件的缺省名为vgctrl1。
第一步:填写下面的代码第一步
procedure ow(Sender: TObject);
begin
( '' );
end;
这句程序执行后,将在控件中设计一个新的Visual Graph视图文件,控件支持Design(设计)
和Run(运行)两个函数,无论接下来要干什么,一开始必须执行这两个函数其中一个,在绘图
版本中,多用Design函数,用户将可以用鼠标在控件窗口上编辑图形;在工业监控等领域一般
多用Run函数,用户不能用鼠标直接编辑图形,但用鼠标点击画面上不同的图形时会有各种控制
事件发生,而且某些图形还会产生动作。如果要打开一个视图文件,参数是文件名。
第二步:在窗口上放一个按钮第二步Button1,双击这个按钮,编写下面的代码
procedure 1Click(Sender: TObject);
var
ASheet : ISheet;
AShape : IUnit;
begin
ASheet := Sheet;
AShape := t( nil, 'Rect' );
nds( 0, 0, 100, 100 );
:= 'Hello World!'
end;
ActiveSheet是视图文件的当前页面(页面类),Visual Graph图形系统支持多个页面,当前画
图的工作都是在ActiveSheet上实现的,一般应用中只要一个页面就够了,但是如果视图文件是
作为图库来用,它里面可能页面就多了。
AddUnit是页面类的函数成员,在ASheet页面上添加一个文字单元,宽度和高度都是100。这句
程序执行后,用鼠标点击新生成的图形,可以在上面输入字符,或者用鼠标移动这个图形,改
变它的大小等。由于AddUnit返回的类型是通用的IUnit。
Text是基本图形单元类的属性成员,通过它修改图形的文字属性。
第三步:在窗口上再放一个按钮第三步Button2,双击这个按钮,编写下面的代码
procedure 2Click(Sender: TObject);
begin
t( nil, 'Line' );
end;
NewUnit是视图类的命令函数,执行这句程序后,可以在画面上用鼠标画线。
第四步:下面,我们要给控件加上相应的事件,例如右键事件。第四步
procedure 1RButtonDown(Sender: TObject; X, Y: Double);
var
ASheet : ISheet;
AUnit : IUnit;
begin
ASheet := Sheet;
AUnit := Point( X, Y, nil );
ShowMessage( '您在图形:' + + ' 上按下了右键!' );
end;
UnitAtPoint是页面类的函数成员,返回当前鼠标位置处的图形单元。我们一般在右键事件上挂
上菜单,用这种办法我们就能知道当前要对什么图形对象进行操作,然后,根据不同的图形对
象,产生不同的菜单内容。此处也可以用下面的写法:
AUnit := Cursor( nil ),这样也得到当前鼠标位置所在的图形。
第五步:上面这个程序有个漏洞,如果我们没有首先单击第五步Button1按钮创建一个图形,那么这里
的AUnit就是空,将使得最后一行程序出错,因此,要修改为:
procedure 1RButtonDown(Sender: TObject; X, Y: Double);
var
ASheet : ISheet;
AUnit : IUnit;
begin
ASheet := Sheet;
AUnit := Point( X, Y, nil );
if AUnit <> nil then
ShowMessage( '您在图形:' + + ' 上按下了右键!' );
end;
第六步:下面我们添加元件。在窗口上再放一个第六步Visual Graph ActiveX控件,把它设法放到看不
到的地方(但是Visible属性不能设置成False)。修改FormShow代码
procedure ow(Sender: TObject);
begin
( '' );
( tPath + '' );
end;
这里所指的在Visual Graph安装目录的bin子目录下,此处编写时要把路径写全。
在窗口上再放一个按钮Button3,双击这个按钮,编写下面的代码
procedure 3Click(Sender: TObject);
begin
t( , 'button' );
end;
NewUnit是视图类的命令函数,执行这句程序后,可以在画面上用鼠标画出按钮的形状来。实际
上,这句程序执行后,将从当前指定的元件库(vgctrl2)中寻找相应名字的页面。可以放置若干个
控件,打开多个图库文件。如果需要用程序添加“button”这个元件,就执行
t( , 'button' )。
第七步:下面我们给上面的按钮增加一个双击事件,为它增加自定义属性第七步MyProp
procedure 1DblClick(Sender: TObject);
var
ASheet : ISheet;
AUnit : IUnit;
begin
ASheet := Sheet;
AUnit := Cursor( nil );
if AUnit <> nil then
begin
if CompareText( _, 'button' ) = 0 then
pertyValue( 'MyProp', '1234' );
end;
end;
不同类型的元件,用Type属性来区分。SetPropertyValue是图形单元类的函数,如果元件已经
有了MyProp这个属性,就修改这个属性的值。GetPropertyValue函数可以返回一个属性的值。
版权声明:本文标题:ActiveX控件在Delphi中的使用方法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1702316239a633.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论