在MFC程序中,可以设置主窗口,主窗口在应用程序类中设置,即设置应用程序类(通常以App结尾,通常包括InitInstance
方法的类)的m_pMainWnd
属性,将其设置为主窗口的指针。
一般在MFC工程建立之后,在应用程序类的InitInstance
方法中,会生成代码通过m_pMainWnd
设置主窗口,但是该值可以由我们自行修改。主窗口设置之后,可以通过代码来找到主窗口。
使用AfxGetApp
函数找到MFC的应用程序类(通常包括InitInstance
方法的类),然后通过其成员找到主窗体的指针。
//下面的代码会使得主窗口最小化
AfxGetApp()->m_pMainWnd->ShowWindow(SW_SHOWMINIMIZED);
注意
如果要使用主窗口自己的方法或属性,需要将指针转化为主窗口的类型,对于上面的例子,示例如下:
//使用主窗体自有的方法和属性时需要进行指针的转化
((CMfc21Dlg *)(AfxGetApp()->m_pMainWnd))->ShowMessage();
使用AfxGetMainWnd
函数直接找到主窗口
AfxGetMainWnd()->ShowWindow(SW_SHOWMINIMIZED);