我用memo: array[0..9] of tmemo 定义10个memo,然后动态生成,
for i:=0 to 9 do
begin
memo[i]:=tmemo.create(self);
memo[i].Parent:=form1;
end;
现在我想通过单击某一个memo,读出他里面的内容,应该怎么做呀?!请各位大虾指教,在线等待,急!!!!得到解决方法,立即结贴!!!
for i:=0 to 9 do
begin
memo[i]:=tmemo.create(self);
memo[i].Parent:=form1;
end;
现在我想通过单击某一个memo,读出他里面的内容,应该怎么做呀?!请各位大虾指教,在线等待,急!!!!得到解决方法,立即结贴!!!
begin
memo[i]:=tmemo.create(self);
memo[i].Parent:=form1;
memo1.onclick:=YouClick(Sender :TObject);//这是你要执行的过程
end;
showmessage(memo[i].text);
这样出来的也只是最后一个memo 的内容,而不是我当前单击的memo的内容,我必须想办法在单击某一个memo的时侯,得到单前i的值,这样才能正确的读出当前memo的内容。
我的想法是这样的:
for j:=0 to i do
begin
if memo[j].处于活动状态
then
break;
end;
showmessage(memo[j].text);
我现在就是不知道怎样判断一个memo控件是否处于活动状态,就象有一个setfouse把焦点赋予某一个控件一样,我现在只是想知道一个控件是否获得了焦点。还是要谢谢你的参与。
procedure TForm1.YouClick(Sender :TObject);
begin
...
if Sender is TMemo then begin
Showmessage( (Sender as TMemo).Text);
end;
...
end;for i:=0 to 9 do
begin
memo[i]:=tmemo.create(Application);
memo[i].Parent:=form1;
memo1.onclick:=YouClick(Sender :TObject);//这是你要执行的过程
end;如果还不行,你可以这样:
procedure TForm1.YouClick(Sender :TObject);
begin
...
if Sender is TMemo then begin
Showmessage( Memo[(Sender as TMemo).tag].text);
end;
...
end;for i:=0 to 9 do
begin
memo[i]:=tmemo.create(Application);
memo[i].tag:=i;
memo[i].Parent:=form1;
memo1.onclick:=YouClick(Sender :TObject);//这是你要执行的过程
end;