动态生成控件(100分)

  • 主题发起人 主题发起人 whitelight
  • 开始时间 开始时间
W

whitelight

Unregistered / Unconfirmed
GUEST, unregistred user!
比如动态生成button按钮.但不是点击某一按钮在窗体固定位置生成,而是像delphi那样在鼠标点击窗体某一位置时生成,请问怎样编写代码
 
uses StdCtrls;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
mybutton:tbutton;
begin
if button=mbright then
begin
mybutton:=tbutton.create(self);
form1.InsertControl(mybutton);
mybutton.left:=x;
mybutton.top:=y;
end;
end;
 
下次需要生成edit时怎么办,确定生成什么控件的按钮代码怎么写
 
你可以弄个菜单什么的,菜单项里先列好要生成的控件选项,哪个被选择就产生那一种,无选择就什么也不产生.
 
然后在上面mousedown事件中判断一下那一种被选择就产生那一种
 
将坐标确认就可以了.没有什么特别的.
至于不同的控件,你只要申明一个基本类,这个基本类可以包含一类控件即可
 
如果要生成很多种控件,那么鼠标事件的代码不是很多很烦琐吗?
 
鼠标事件?指何物?
 
5207能给出代码吗?谢谢了
 
smzh,你的代码我试,不行啊?
 
那如果想动态生edit,代码怎么写?
 
不行吗?我可是试过的!
注意:
if button=mbright then
这一句的意思是:按鼠标右键产生!
 
把tbutton换成tedit,就产生edit
 
先声明一个动态数组,来放动态生成的控件,这样管理比较方便。
 
先放几个选择框用来指定要动态生成什么类的控件。根据选择来建立
 
多人接受答案了。
 

Similar threads

回复
0
查看
804
不得闲
D
回复
0
查看
825
DelphiTeacher的专栏
D
D
回复
0
查看
831
DelphiTeacher的专栏
D
D
回复
0
查看
664
DelphiTeacher的专栏
D
后退
顶部