隐藏MFC单文档应用程序默认的工具栏和状态栏的两种方法

写在前面

在使用vs2022创建单文档的MFC项目时,默认生成的应用程序是带有默认的工具栏和状态栏的,有时我们不需要默认的工具栏和状态栏。下面介绍几种删除它们的方法。

删除方法

通过观察MFC的源代码,在CMainFrame类的头文件中(MainFrm.h),有两个受保护的成员变量,它们就代表了工具栏和状态栏。

接下来我们寻找到它们的初始化代码。在MainFrm.cpp文件中(也就是CMainFrame类的实现中),有一个OnCreate函数。该函数就初始化了上述两个成员变量。

所以就有了第一种删除方法:直接注释m_wndToolBarm_wndStatusBar的初始化代码。如下图:

再次运行程序,我们会发现工具栏和状态栏已经消失不见了。

接下来我们介绍第二种删除方法。我们通过设置工具栏和状态栏的显式设置来隐藏工具栏和状态栏,从而实现删除功能。在不注释m_wndToolBarm_wndStatusBar的初始化代码的前提下,我们只需要在OnCreate函数的返回语句之前加上如下两行代码。

m_wndToolBar.ShowWindow(SW_HIDE);
m_wndStatusBar.ShowWindow(SW_HIDE);

这两行代码比较简单,就不做过多的解释了。再次运行程序,我们发现工具栏和状态栏已经消失了。

posted @ 2025-04-17 15:18  XueZhou  阅读(26)  评论(0)    收藏  举报