MDI小菜(88分)

  • 主题发起人 主题发起人 孔枫
  • 开始时间 开始时间

孔枫

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么通过主菜单对当前的MDICHILD上的控件进行操作?
handle么?
 

for example


TForm2(ActiveMdiChild).Text := 'sdfgsdfg';
 
那如何对上面的 控件 操作呢?
TForm2(ActiveMdiChild).edit1.Text:='a'; 这样不对
 
呵呵,你试试不就知道对不对了,干嘛这么问?
 
试过了才知道不对的。
有可能是自己没试对,请高手指点一下的。
 

Form1: FormStyle --> MDIForm
Form2: FormStyle --> MDIChild


TForm2(ActiveMdiChild).Edit1.Text := 'sdfgsdfg'; 没有问题
----- ---> 漏写了

 
可 MDIChild 不只是一个Tform2
怎么来判断当前的ActiveMDIChild的类型呢?
 

假设 TForm2, TForm3 都是MdiChild

if ActiveMdiChild is TForm2 then
TForm2(ActiveMdiChild).Edit1.Text := 'sdfgsdfg';

if ActiveMdiChild is TForm3 then
TForm3(ActiveMdiChild).Label1.Caption := 'sdfgsdfg';
 
康(孔)兄:
还有最后一个问题了:)
因为MDICHILD上的控件不是固定的。怎么样知道在选择菜单之前是哪个控件被选中?
 

可以通过 ActiveMDIChild.ActiveControl 来判断
 
能详细点么?
activecontrol怎么使用的。
看帮助看不出个所以然来
 

if ActiveMdiChild.ActiveControl.Name = 'Edit1' then
showmessage('Edit1');
 
用activecontrol不能达到“知道在选择菜单之前是哪个控件被选中”的要求。
我先把
Edit4.Setfocus;
然后再 if ActiveMDIChild.ActiveControl.Name='edit4' then
showmessage('edit4')
else showmessage('editx');
也没用。 :(


 

Edit4 非 edit4
 
后退
顶部