C++中MFC中的对话框如何彻底删除

如题所述

这个问题其实不算很难,就是有点麻烦。

首先你要明确一个对话框就是一个类,要彻底删除对话框就必须删除整个类,包括你在其它对话框中调用这个类的成员变量,及其所有与之有关的信息。大致可分三步:

1.把对话框删除,选定对话框,按键盘上的Delete键删除对话框(如图中位置)

2,其次点击file那一项选择你所删除对话框类的.h文件和.cpp文件,按键盘上的Delete键删除。(如图中位置)

3.最后在别的类中把所有与被删除对话框有关的变量或函数找出删除(如果未在其它类中调用,此项可以省略)。

追问

第一个删不掉

追答

不可能吧,我试了的

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-30
在OnInitDialog()将这些删除就可以了。
代码如下:
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
第2个回答  2018-04-16

在OnInitDialog()将如下代码删除.

ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
 ASSERT(IDM_ABOUTBOX < 0xF000);
 CMenu* pSysMenu = GetSystemMenu(FALSE);
 if (pSysMenu != NULL)
 {
  CString strAboutMenu;
  strAboutMenu.LoadString(IDS_ABOUTBOX);
  if (!strAboutMenu.IsEmpty())
  {
   pSysMenu->AppendMenu(MF_SEPARATOR);
   pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
  }
 }

本回答被网友采纳
第3个回答  2012-12-09
把相关的资源文件删了,还有调用这个对话框的那个函数进行相应的修改,就ok了。资源文件的删除,楼上给的很详细,但是第一张图上的貌似删不掉
第4个回答  2012-12-04
到.rc文件里面,把这个ID删了.然后,再删掉类的源文件就OK了.

C++中MFC中的对话框如何彻底删除
1.把对话框删除,选定对话框,按键盘上的Delete键删除对话框(如图中位置)2,其次点击file那一项选择你所删除对话框类的.h文件和.cpp文件,按键盘上的Delete键删除。(如图中位置)3.最后在别的类中把所有与被删除对话框有关的变量或函数找出删除(如果未在其它类中调用,此项可以省略)。

C++中MFC中的对话框如何彻底删除?
在OnInitDialog()将如下代码删除.ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) ...

在C++的MFC中如何在用DoModal()调用另外一个窗口后把原来的窗口...
主窗口可采用非模式对话框方式,第二个窗口用模式或非模式都可以。主窗口显示时,可以调对象的ShowWindow(SW_SHOW),等第二个窗口弹出后,再调主窗口对象的ShowWindow(SW_HIDE)。如果需要在第二个窗口中单击退出程序时,直接调主窗口的OnClose(),由于OnClose()函数是主窗口的Protected函数,你可以在...

在visual c++中,如何做出来非模态对话框?还有如何清除?
6.OnSetFont() 消息响应函数,响应WM_SETFONT消息,发送此消息,以允许改变对话框中控件的字体 7.OnInitDialog() 消息响应函数,响应WM_INITDIALOG消息,发送此消息以允许初始化对话框中的控件,或者是创建新控件 8.OnShowWindow() 消息响应函数,响应WM_SHOWWINDOW消息,该函数被ShowWindow()...

VC++6.0中MFC编程中,我新建一个对话框后为其新建一个类
一般对于MFC中为了便于区分,都在所有的类前面加上一个CXXX,有人说代表的是(class)例如,CView,CFrameWnd,CDialog,CEdit,而他们对应的文件是把C去掉,例如CMyView对应的是MyView.cpp,MyView.h,CMainFrame对应的是MainFrm.cpp,MainFrm.h,

c++ MFC类删除不了
选中要删除的文件 按键盘的 Delete 直接删除即可。一定要注意 : 先把其他文件中包含此头文件的代码删除。

MFCDlg在C++中是什么啊?
这是一个类的名字,它的基类是CDialog类,只不过从CDialog派出。的类一般都具有界面(即对话框框架)

关于C++弹出对话框的问题
先对菜单中你要弹出对话框的选项建一个COMMAND函数,然后在这个函数中调用要弹出的窗体。具体是这样的,先在父窗体的CPP中添加“ #include "Dialog1.h"\/\/假设Dialog1为子窗体 ”选中要弹窗的菜单选项,Ctrl+W给选项建一个COMMAND函数,函数中写如下内容。例:void CTest1Dlg::OnMt() \/\/OnMt为...

如何在MFC程序运行中自动弹出对话框并关闭
一、问题的提出 编写一个耗时的单线程程序:新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:void CSingleThreadDlg::OnSleepSixSecond(){ Sleep(6000); \/\/延时6秒 } 编译并...

C++ MFC对话框初始化完成(即所有的控件已经创建完成)后的第一个函数是...
另一种情况如果想在对话框显示出来以后延迟一定时间(不知道我有没有理解对)再添加文本,那就要略微复杂一点了,最简单的方法是用定时器,在OnInitDialog或者OnShowWindow里面SetTimer( 1 , 200 , NULL );然后给对话框添加OnTimer消息,OnTimer( UINT nIdEvent ){ if(nIdEvent ==1 ){ AddString()...

相似回答