请问如何动态创建用户自己做的ocx控件到窗体?(200分)

  • 主题发起人 主题发起人 hnw1982
  • 开始时间 开始时间
H

hnw1982

Unregistered / Unconfirmed
GUEST, unregistred user!
一个ocx控件,能用什么方法动态创建?
具体想实现的过程是这样的:
在工具箱有该控件的图标,点击该图标后,用户即可以在view上动态创建控件支持拖放和改变大小,就是能够用鼠标画出一个控件来(只要是注册的),哪位做过,请指点!
-------------------------------------------------------分不够会再加的。
 
等待高手的出现。。。。。
 
在线等啊。。。。。
 
里面太多了.
我做的一个:http://www.enmis.com/delp.exe
需要的话联系:QQ 153109
 
1.首先先把这个ocx控件导入到你的delphi中去,导入成功后,就可以在你的工具栏中ActiveX中看见多了一个控件,比如新导入的ocx名称为damaq(damaqProj1_TLB)
2.在你的新建的一个简单的工程Form1中的uses中引用damaqProj1_TLB
TForm1 = class(TForm)
Panel1: TPanel;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

3.像定义变量一样,定义
var
form :Tdamaq;
4.procedure TForm1.FormCreate(Sender: TObject);
begin

form :=Tdamaq.Create(nil);//动态创建
end;


procedure TForm1.FormShow(Sender: TObject);
begin

form.Parent :=Panel1;
form.Align :=alClient;
form.Show;
end;

这样运行工程即可看到动态创建的ocx显示出来。绝对正确
 
个人认为可以分两步,至于控件的拖拉其实相对比较简单,2ccc上面有例子,就是在响应鼠标事件就可以了,然后动态设置width和height

至于创建,楼上的兄弟已经写清楚了,简单点的做法就先导入ocx控件,到时候动态创建和普通控件一样
 
后退
顶部