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个回答
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询