mf->SHOWWINDOW(SW_HIDE)应该要在DOMODAL之前吧,否则建立模态对话框后,整个主窗口将会"被断点",所以你下面的隐藏也达不到效果。
如果你这个BUTTON控件在主窗口DLG的cpp文件内的话,直接ShowWindow(SW_HIDE)就行了,不用获取指针然后指针调用什么的,因为遵循在谁哪执行,就被谁调用的原则。
//使用发送消息来更新数据
CMainFrame p= (CMainFrame)AfxGetApp()->m_pMainWnd;//定义一个指针p指向框架类
::PostMessage(p->m_splitterGetPane(1,0)->m_hWnd,0x272,dwPID,0L);//0x272表示消息,你可以改的。
上面这个是我用MFC的SDI其中2句;我也是新学的,前一段刚写了一个,这几天又忘记了;就是先找到父窗口的框架指针,用下面那个postmessage发送消息就行。
如果使用了MFC框架,那么这么做是不好的。
首先,你这样是声明了一个新的CServerDlg类指针,而没有获得主窗口。
其次,要看你怎样声明了头文件,第二个报错是不认识类名,应该是头文件包含位置不对(头文件包含是有顺序的,这个要非常注意)
最后,建议使用AfxGetApp或者AfxGetMainWnd函数,这是MFC推荐使用的获取方式,一般在线程或者子类窗口中使用。
你在打开子模块的时候,获取主窗口指针并调用主窗口的这一个函数SetWindowPos(&wnd,TopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE),之后你再把这个TopMost的状态取消掉就可以了
以上就是关于mfc 主窗口与子窗口间的切换问题全部的内容,包括:mfc 主窗口与子窗口间的切换问题、急!!!MFC窗口数据如何获取和显示、MFC网络编程,想在socket类里面调用主窗口类的函数,但是一旦声明主窗口类指针变量就会报错。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)