我在一个对话框中创建了一个view,创建方法如下:头文件:
CMyView m_pView;
CPP文件:
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CCreateContext context;
CWnd* pFrameWnd = this;
context.m_pCurrentDoc = new CMyDoc;
context.m_pNewViewClass = RUNTIME_CLASS(CMyView);
m_pView = (CVTblColViewsView*)((CFrameWnd*)pFrameWnd)->CreateView(&context);
ASSERT(m_pView); CRect rc;
GetClientRect(&rc);
rc.left += 7;
rc.top += 7;
rc.right -= 7;
rc.bottom -= 7+35; m_pView->MoveWindow(rc);
m_pView->ShowWindow(SW_NORMAL);
return TRUE;
}在MyView中,重载消息WM_MOUSEACTIVE:
int CMyView::OnMouseActivate( CWnd* pDesktopWnd, UINT nHitTest, UINT message )
{
return MA_ACTIVATE;
}在Debug版本中可以正常运行,但是在Release版本中,当鼠标在view中点击时,程序崩溃。哪位大侠遇见过类似问题啊,帮帮我,高分赠送!
CMyView m_pView;
CPP文件:
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CCreateContext context;
CWnd* pFrameWnd = this;
context.m_pCurrentDoc = new CMyDoc;
context.m_pNewViewClass = RUNTIME_CLASS(CMyView);
m_pView = (CVTblColViewsView*)((CFrameWnd*)pFrameWnd)->CreateView(&context);
ASSERT(m_pView); CRect rc;
GetClientRect(&rc);
rc.left += 7;
rc.top += 7;
rc.right -= 7;
rc.bottom -= 7+35; m_pView->MoveWindow(rc);
m_pView->ShowWindow(SW_NORMAL);
return TRUE;
}在MyView中,重载消息WM_MOUSEACTIVE:
int CMyView::OnMouseActivate( CWnd* pDesktopWnd, UINT nHitTest, UINT message )
{
return MA_ACTIVATE;
}在Debug版本中可以正常运行,但是在Release版本中,当鼠标在view中点击时,程序崩溃。哪位大侠遇见过类似问题啊,帮帮我,高分赠送!
解决方案 »
- 改变按钮背景颜色怎么不好使
- 关于CAxwindow 窗口的疑惑 高手进~~~~~~~~~~~
- FMC内运行正常,编译后的exe不正常(D版,R版都不行)
- CString 转换成数组的问题,请前辈帮忙
- 如何把变量传递给视图
- 【UP】谁知道侯捷今年多少岁了.反正是有关它的一些简介吧【UP】
- 用VisiBroker把Corba编译成C++后,怎么在VC6.0中编译?
- 关于数据库的问题,急
- 我想button被push的时候在button的位置trackpopmenu一个菜单
- 内存共享与通信操作???
- 巨难的问题,关于滚动条的问题?水能解决?
- 为什么我用LoadBitmap(bmp文件名)失败,返回0,我的文件路径没有错啊?
#ifdef _DEBUG
int CMyView::OnMouseActivate(...)
{
...
}
#endif
已经解决了,谢谢;
release是需要重栽的,不重栽要出错,我的错误是消息映射没做好,本来应该是
ON_WM_MOUSEACTIVE()
我写成了
ON_MESSAGE(WM_MOUSEACTIVE, OnMouseActive)
这样当处理完我自己的消息处理函数后,程序还是会去调用默认的消息函数,呵呵,我太粗心大意了。
还是对你表示感谢,100就送给你了。