MFC 求大神
我用VS2012非向导空项目MFC动态库Unicode在CMainFrame中直接添加WM_paint消息函数时就能画图了附上代码,但是为什么用了MFC类向导单文档在CM...
我用VS2012 非向导 空项目 MFC动态库 Unicode 在CMainFrame 中直接添加WM_paint消息函数时就能画图了附上代码,但是为什么用了 MFC类向导 单文档 在CMainFrame中添加就不行了 而要在CView的子类中ONpaint才行?
#include<afxwin.h>
class CMainFrame:public CFrameWnd
{
public:
CMainFrame()
{
Create(NULL,TEXT("asd"));
}
DECLARE_MESSAGE_MAP()
afx_msg void OnPaint();
};
class CMyApp:public CWinApp
{
public:
virtual BOOL InitInstance();
};
CMyApp theApp;
BOOL CMyApp::InitInstance()
{
// TODO: 在此添加专用代码和/或调用基类
CMainFrame*pmain=new CMainFrame();
m_pMainWnd=pmain;
pmain->ShowWindow(SW_SHOW);
pmain->UpdateWindow();
return CWinApp::InitInstance();
}
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()
class CMyView:public CView
{
public:
DECLARE_MESSAGE_MAP()
afx_msg void OnPaint();
};
void CMainFrame::OnPaint()
{
CPaintDC dc(this); // device context for painting
CPen pen1(PS_DASH,10,RGB(0,255,0));
dc.SelectObject(&pen1);
dc.Rectangle(20,20,90,90);
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CFrameWnd::OnPaint()
}
BEGIN_MESSAGE_MAP(CMyView, CView)
ON_WM_PAINT()
END_MESSAGE_MAP()
void CMyView::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CView::OnPaint()
CPen pen1(PS_DASH,10,RGB(0,255,0));
dc.SelectObject(&pen1);
dc.Ellipse(100,100,200,200);
} 展开
#include<afxwin.h>
class CMainFrame:public CFrameWnd
{
public:
CMainFrame()
{
Create(NULL,TEXT("asd"));
}
DECLARE_MESSAGE_MAP()
afx_msg void OnPaint();
};
class CMyApp:public CWinApp
{
public:
virtual BOOL InitInstance();
};
CMyApp theApp;
BOOL CMyApp::InitInstance()
{
// TODO: 在此添加专用代码和/或调用基类
CMainFrame*pmain=new CMainFrame();
m_pMainWnd=pmain;
pmain->ShowWindow(SW_SHOW);
pmain->UpdateWindow();
return CWinApp::InitInstance();
}
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()
class CMyView:public CView
{
public:
DECLARE_MESSAGE_MAP()
afx_msg void OnPaint();
};
void CMainFrame::OnPaint()
{
CPaintDC dc(this); // device context for painting
CPen pen1(PS_DASH,10,RGB(0,255,0));
dc.SelectObject(&pen1);
dc.Rectangle(20,20,90,90);
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CFrameWnd::OnPaint()
}
BEGIN_MESSAGE_MAP(CMyView, CView)
ON_WM_PAINT()
END_MESSAGE_MAP()
void CMyView::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CView::OnPaint()
CPen pen1(PS_DASH,10,RGB(0,255,0));
dc.SelectObject(&pen1);
dc.Ellipse(100,100,200,200);
} 展开
1个回答
微测检测5.10
2023-05-10 广告
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇...
点击进入详情页
本回答由微测检测5.10提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询