个手写的MFC程序,四个基本类,编译没有错,运行时有内存错误,忽略也不可以正常运行。但希望能解决
#include <afxwin.h>
#include <afxext.h>
#include "resource.h"
class MyFrameWnd : public CFrameWnd
{
DECLARE_DYNCREATE(MyFrameWnd)
public :
MyFrameWnd()
{
// Create(0,"ddd");
}
};
IMPLEMENT_DYNCREATE(MyFrameWnd,CFrameWnd)
class mydoc : public CDocument
{
DECLARE_DYNCREATE(mydoc)
public :
CString s;
CPoint point;
mydoc()
{
s="Welcome to SDI";
point.x=250;
point.y=100;
}
BOOL OnNewDocument()
{
::AfxMessageBox("OnNewDocument");
return TRUE;
}
};
IMPLEMENT_DYNCREATE(mydoc,CDocument)
class myview : public CView
{
DECLARE_DYNCREATE(myview)
public :
void OnDraw(CDC *d)
{
mydoc *b;
b=(mydoc *)m_pDocument;
d->SetTextColor(RGB(0,0,255));
d->TextOut(b->point.x,b->point.y,b->s);
}
void OnLButtonDown(UINT i,CPoint p)
{
mydoc *b;
b=(mydoc *)m_pDocument;
b->point.x=p.x;
b->point.y=p.y;
Invalidate();
}
int OnCreate(LPCREATESTRUCT lpCreateStruct2)
{
::AfxMessageBox("OnCreate");
return 1;
}
DECLARE_MESSAGE_MAP()
};
IMPLEMENT_DYNCREATE(myview,CView)
BEGIN_MESSAGE_MAP(myview,CView)
ON_WM_CREATE()//如果注释掉这个就没有问题??????但OnCreate不能够映射了
ON_WM_LBUTTONDOWN()
END_MESSAGE_MAP()
class myApp : public CWinApp
{
public :
int InitInstance()
{
CSingleDocTemplate *y;
CRuntimeClass *w,*d,*v;
//d=((CRuntimeClass*)(&mydoc::classmydoc));
d=RUNTIME_CLASS(mydoc);
w=RUNTIME_CLASS(MyFrameWnd);
v=RUNTIME_CLASS(myview);
y=new CSingleDocTemplate(IDR_MENU1,d,w,v);
AddDocTemplate(y);
OnFileNew();
return 1;
}
};
myApp a;
********************************
在资源中有字符串AFX_IDS_UNTITLED “aa”
还有一个菜单IDR_MENU1
错误 "0x004018b9"指令引用的"0x00000058"内存。该内存不能为"read"