CEdit重载问题

巨巨 2014-05-29 04:03:02
在动态链接库中测试了一下这个类
class __declspec(dllimport) CBaseEdit : public CEdit
{
public:
CBaseEdit();
//{{AFX_VIRTUAL(CBaseEdit)
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
//}}AFX_VIRTUAL
virtual ~CBaseEdit();
protected:
//{{AFX_MSG(CBaseEdit)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
BOOL CBaseEdit::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==13)
pMsg->wParam=9;
return CEdit::PreTranslateMessage(pMsg);
}
结果生成的DLL在VC6.0 下,用着没有问题。
在VS2010下,发现所关联的编辑框不显示光标。奇怪了。

高手解释一下。
...全文
167 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rxguoblp 2014-06-01
  • 打赏
  • 举报
回复
如果是真的重新生成DLL并且成功了,应该不会出现该问题,建议再重新编译生成下DLL
巨巨 2014-05-29
  • 打赏
  • 举报
回复
已经重新生成了,Debug模式下就是不能显示光标了,但是切换到Release模式下,又能正常显示了。这对于调试程序来说,不是很方便的了。
Jarrylogin 2014-05-29
  • 打赏
  • 举报
回复
DLL 是不是需要在VS2010重新生成一下?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧