要分的快来,有关运行时动态创建控件(300分)(300分)

  • 主题发起人 主题发起人 yansh
  • 开始时间 开始时间
Y

yansh

Unregistered / Unconfirmed
GUEST, unregistred user!
本人正在开发类似组态的东东,要求实现这样的功能:
1、点击按钮,创建一个image控件并可对控件移动、删除、放缩。
2、动态创建的控件很多,怎样分别控制。
最好给出例子,否则很难得到分呦 @v@
 
我不清楚你的“组态”指什么,
如果是指电厂方面的组态的话,
我觉得应该写一个组态图的控件,
把它当作一个整体。
 
1.例
var Myimage:TImage
begin
//创建
MyImage:=TImage.create(这里面写该控件的所有者);
MyImage.top:=100;
MyImage.left:=100;
MyImage.width:=300;
MyImage.height:=200;
MyImage.visible:=True;
try
////对控件的处理代码写在这里
//
finally
MyImage.free;//将控件释放
end;
end;

2.每一个控件都有自己在所有者上注册的次序,如
Form1.Components
就表示在Form1上的第i个控件。

 
如创建的控件操作相同,自定义一个控件(移动、删除、放缩),程序中创建它。
 
to: only you
你忘了最关键的一句:
MyImage.perant:=Form1;
否则只Visible他仍然不可视!
我想,chxn的意思是想做一个类似Delphi IDE的东西。
这似乎有点复杂!要在程序中获得被操纵控件的许多消息
如 OnEnter, OnExit, OnMouseDown, OnMouseMove等..
如果想简单一点,可加四个输入框,输入坐标,以移动控件。
 
我做的是电厂接线图,做过的交个朋友。
 
没做过,先交个朋友。改天再深入讨论
 
可看我的问题
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=238447
 
我没有开发组态的控件,只从书中看过例子。因此我只好说
g: only you and OopsWare.
 
我早几年前写过一个动态Show出图的程序,是依数据库为坐标有X轴和Y轴,可任意移动确认后会将XY的值存入数据库中。
我会找看看程序的源码,如果找到我会Mail给你。
 
没有太满意的,让我怎么分分呢?再提一个问题吧:
图元怎样编程,意思是令图元成为一个浮动工具条,往画布上画
可以自己编辑图元,类似Image editor
作电厂接线图。
 
我认为问题的答案是:
Only You +OopsWare+:{ 在mousedown,mouseMove,Mouseup中设置一个小算法}
 
var
MoveFlag:boolean;
InitX,InitY:integer;
procedure Tfrom1.MouseDown
begin
MoveFlag:=true;
InitX:=x;
InitY:=y;
end;
procedure MouseMove()
begin
if MoveFlag then
begin
Image.left:=image.left+ X-InitX;
Image.top:=Image.top+Y-InitY;
end;
end;
procedrue MouseUp()
begin
MoveFLag:=false;
end;
附上一次的帖子
 
我认为问题的答案是:Only You + OopsWare + 乔努est
 
先结束这个话题吧,我的程序快完成了。谢谢大家,来者有分,不过有多有少。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部