在编写一个控件时,需要重载OnPaint,结果导致主窗口的消息窗口弹出时,显示不出来。
class MyOpenGL :
public CWnd
{
public:
MyOpenGL(void);
~MyOpenGL(void);
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnPaint();//重载了OnPaint
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
};
一开始把CWnd::OnPaint()函数去掉,导致主窗口无法显示消息的弹出框。
添加CWnd::OnPaint() 可正常显示了。具体原因没有详细研究。
#include "StdAfx.h"
#include "MyOpenGL.h"
#include "resource.h"
MyOpenGL::MyOpenGL(void)
{
}
MyOpenGL::~MyOpenGL(void)
{
}
BEGIN_MESSAGE_MAP(MyOpenGL, CWnd)
ON_WM_CREATE()
ON_WM_PAINT()
END_MESSAGE_MAP()
int MyOpenGL::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CWnd::OnCreate(lpCreateStruct) == -1)
return -1;
return 0;
}
void MyOpenGL::OnPaint()
{
//CWnd::OnPaint(); //一开始把CWnd::OnPaint()函数去掉,导致主窗口无法显示消息的弹出框。
}