关于动态生成控件的问题1
听大侠的话,问题一个一个问,呵呵
问题1:动态生成几个控件,如何判断哪个控件被选中进行拖放/缩放?(动态生成的控件的唯一标识是什么?)
比如,在RichEdit上动态产生2个控件,产生第1个时可以对1进行拖放,然后再产生
第2个时可以对2进行拖放,但是这时就不能对1进行拖放了,这时对1进行拖放还是2在拖放,而1没有反应,请教是什么原因?
注:动态产生的控件是一个链表结构,每动态生成一个控件就加入链表中
相关代码如下:
TDataFieldList=^DFL;
DFL=Record
DataField:TRichEdit;
Name:string;
XPos:integer;
YPos:integer;
Next:TDataFieldList;
end;
var DataFieldList:TDataFieldList;
AEdt:TRichEdit;
procedure TFormDataField.EdtOnDragOver(Sender,Source:TObject;X,Y:Integer;
State:TDragState;var Accept:Boolean);
var p:TDataFieldList;
begin
p:=DataFieldList;
while Source<>p.DataField do//判断是哪个控件被拖放
p:=p.Next;
// if Source=AEdt then
Accept:=True;
FormNew.isDragFormNew:=True;
end;