回 帖 发 新 帖 刷新版面

主题:老菜鸟问一个关于MDI的问题

我在子窗体的public中定义了一个AutoPrint函数,我在父窗体中调用它的时候,只有最后 new 出来的那个子窗体会执行命令,而较早 new 出来的那些比较旧的子窗体都没有动静。我的目的就是,在父窗体上一个按钮,点击它后,所有子窗体(不管多少个)都要执行这个函数,而不是只有一个执行,请问高手们我该怎么做才能实现?

回复列表 (共2个回复)

沙发

这是因为只有当前拥有‘焦点’的窗口才能接受‘命令’。要想达到你的目的。你必须首先获得各子窗体的句柄,然后分发该‘命令’消息给它们。

板凳

----------------------------------------------------------------------------
for(int i=MDIChildCount-1;i>=0;i--)
{
   MDIChildren[i]=SetFocus();
   ((TChildForm *)(ActiveMDIChild))->AutoPrint();
}
----------------------------------------------------------------------------
OK,程序我搞定了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册