MFC中的主窗口以及如何通过代码找到主窗口

MFC程序中的主窗口

在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);

你可能感兴趣的:(Windows,mfc,c++)