看了一下MFC入门教程,知道m_pMainWnd指针可以保留窗体指针以至于初始化完成后窗体不会被析构,但是,这里一个至真不够用,如下我创建两个窗体,有一个还是会被析构,求解
#include <afxwin.h>
#include "resource.h"class sample:public CFrameWnd
{
public: bool active ; sample()
{
active = true ;
//Create(NULL,"MFC Window");
Create(NULL,"MFC Window",WS_OVERLAPPEDWINDOW,rectDefault,NULL,MAKEINTRESOURCE(IDR_MENU1),0,NULL);
MessageBox("My MFC Window","CFrame constructor",MB_OK);
} void OnLButtonDown(UINT,CPoint)  //添加的消息处理函数
{
::MessageBox(NULL,"ddd","dd",MB_OK);

}
DECLARE_MESSAGE_MAP()  //消息映射的申明
};
BEGIN_MESSAGE_MAP(sample,CFrameWnd)
//这个宏是一个带参数的宏,填写两个参数,一个子类,一个父类
ON_WM_LBUTTONDOWN()  //左键按下的事件
END_MESSAGE_MAP()  //结束宏
class App:public CWinApp
{
public:
BOOL InitInstance();
BOOL ExitInstance();
};
BOOL App::InitInstance()
{
sample *obj;
sample *obj2;
obj=new sample;
obj2=new sample; MessageBox(0,"My MFC Window1","InitInstance1",MB_OK|MB_ICONASTERISK);
MessageBox(0,"My MFC Window2","InitInstance2",MB_OK|MB_ICONASTERISK); m_pMainWnd=obj; obj->MoveWindow(600,600,100,100,1);
//obj->SetMessageText("hahaha");
//obj->BeginModalState();
obj->ShowWindow(SW_SHOW/*SW_SHOWMAXIMIZED*/); obj2->MoveWindow(0,0,100,100,1);
obj2->ShowWindow(SW_SHOW/*SW_SHOWMAXIMIZED*/);
return TRUE;
}
BOOL App::ExitInstance()
{
MessageBox(0,"My Window","ExitInstance",MB_OK|MB_ICONHAND);
return TRUE;
}
App a;