好久没弄VC程序了,今天弄了下,还会用公司给的窗口重绘作为基类来实现,竟然报了这个错误。
找了一下是这里:
有个窗口重绘类是基类:
class CBaseDlg : public CDialog
新建一个对话框类
class CTestDlg: public CBaseDlg
在消息映射的地方:
BEGIN_MESSAGE_MAP(CBaseDlg , CDialog)
//{{AFX_MSG_MAP(CTestDlgDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_WM_SIZE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
报错的就是红色标记的,因为在基类有:
BEGIN_MESSAGE_MAP(CSkinDlg, CDialog)
ON_WM_SIZE()
ON_WM_PAINT()
END_MESSAGE_MAP()
所以重复定义了,应该是:
BEGIN_MESSAGE_MAP(CTestDlg,CBaseDlg )
这是个小问题,不过出错了,不容易找,最主要的是要弄清楚原理前面是派生类,后面是基类。
转载请注明原创链接:http://blog.csdn.net/wujunokay/article/details/12454469