永发信息网

delphi中的mdichildren疑问?各位大大帮帮

答案:2  悬赏:50  手机版
解决时间 2021-02-26 09:01
delphi7中把
form1定义为mdiform
form2定义为mdichild

然后form1里新建的mdichild窗口为form2类型的

var child:tform2;
child:=tform2.Create(self);
child.show;

关键问题是form2里定义了一个memo1的组件还有一个savetext的procedure
但是在form1.mdichildren[0]中却找不到,mdichildren是按照form2来构造的什么访问不到里面的memo1还有过程呢???
最佳答案
mdichildren的返回类型是TForm当然没有了。
把值强制转成form2的类型就行了。
全部回答
////先定义一个函数 private function findform(caption: string): bool; { private declarations } public { public declarations } end; var main: tmain; implementation {$r *.dfm} //-----------通过用户定义的函数,判断窗体是否已存在-------------------- function tmain.findform(caption: string): bool; var i:integer; begin //result:=false;//防止出现函数返回值没有定义的警告 result:=true;//防止出现函数返回值没有定义的警告 for i:=0 to main.mdichildcount do begin // 通过对窗体标题判断窗体是否存在 if main.mdichildren[i].caption=caption then begin //如果窗体已存在,则恢复窗体,并返回true sendmessage(mdichildren[i].handle, wm_syscommand, sc_restore, 0); mdichildren[i].enabled:=true; mdichildren[i].show; mdichildren[i].setfocus; result:=true; break; end else //如窗体不存在,则返回false,程序将创建窗体 result:=false; end end; ////然后打开mdi子窗体,我合理是caozuorenyuan //-------------打开操作人员设置窗体---------- procedure tmain.n2click(sender: tobject); var newform:tcaozuorenyuan; begin if findform('操作人员设置')=false then begin newform:=tcaozuorenyuan.create(application); newform.caption:='操作人员设置'; end; end;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
【滴定】常用的滴定方式有哪几种?各在什么情
包魅这个地址在什么地方,我要处理点事
fifaonline310伊布好不好?
醇香茶坊在哪里啊,我有事要去这个地方
兖州市把市民作为精神文明建设的主体,动员全
串口猎人v31谁能指点下怎么使用
江南赣州市信丰县为什么消费那么高?
好又多生活购物广场盛泽店地址在什么地方,想
昆山哪里有回收手机的?
我的苹果4基带虚焊什么意思淘宝上买东西 退款
儿童牙齿松动多久换牙
求宝鸡市化工厂联系方式,地址。求真实!
我问情人你为什么把我设置消息免打扰!他说他
威尔登服饰地址在哪,我要去那里办事
一点击运行的软件 WIN7系统就提示 Windows 无
推荐资讯
石头打瑞文出什么装备
地球气候变暖的主要原因是什么?
女官服饰描写
我的男友背着我跟别的女孩睡了,我原谅他了,
dnf怎么看是不是推荐地下城 58级的推荐地下城
下图为美元对人民币汇率(人民币元/l美元)的
红不让地址有知道的么?有点事想过去
英语阅读:Who Invented Ping-Pong的翻译
用词典帮忙查一下无缘无故的意思.我词典上没
马恒兴板鸭临湖路店在什么地方啊,我要过去处
济南少儿戏剧班有没有?孩子自从看了一次话剧
这是逗游游戏宝库下载的极品飞车18,显示了游
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?