小弟做了个对话框,里面添加了 edit 控件,先需要获取鼠标在对话框中移动的坐标信息,包含 edit 中,主要是获取EDIT
中鼠标的信息,我在 对话框类中添加了 mousemove ,试了下好像不行,请各位高手大哥大姐帮忙啊 !!!谢谢
中鼠标的信息,我在 对话框类中添加了 mousemove ,试了下好像不行,请各位高手大哥大姐帮忙啊 !!!谢谢
解决方案 »
- 怎么解决class graph G" (?G@@3Vgraph@@A) already defined in arc.obj
- 关于使用VC2005 微软企业库的问题
- 关于指针参数传值的问题。。。。。。
- InstallShield Express 5.0 汉化包
- 求教关于科学记数法。
- 怎样可以正确的从EXCEL文件中得到泰文的编码?
- 急请教!手上只有lib和dll文件,怎样在VC里应用并看到里面的类或函数,谢谢!
- 参与者有分。。。欢迎高手中的高手。。。
- 关于如何取得文件全路径的简单问题?
- 各位高手,有什么办法把一个浮点转换成字符串,有相关函数吗?
- 如何开一个工作线程用进度条指示一个漫长的操作?
- 向各位老鸟们学习点经验
{
......
if (::GetKeyState(WM_NCMOUSEMOVE) ))
{
....
return TRUE
}
return CDialog::PreTranslateMessage(pMsg)
}
通过PreTranslateMessage截取消息,得到鼠标移动,如果你在CEDIT里面,建议重新写一个CxxxEdit::CEdit里面截取消息,在CxxxEdit里面重载PreTranslateMessage取得鼠标消息即可,那么就变成了:
CXXXEdit::PreTranslateMessage(MSG* pMsg)
{
......
if (::GetKeyState(WM_NCMOUSEMOVE) ))
{
....
return TRUE
}
return CEdit::PreTranslateMessage(pMsg)
}
CRect(10, 10, WIDTH+10, HEIGHT+10), this, 1);
这个类里面的内容自己添加,包含刚才的说的重载PreTranslateMessage;
然后,调用如下:
CMyEdit *pEdit = new CMyEdit;
pEdit.Create(ES_MULTILINE | WS_VSCROLL|WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER| ES_WANTRETURN,
CRect(10, 10, WIDTH+10, HEIGHT+10), this, 1);
这样,你就可以在PreTranslateMessage里面得到鼠标的消息了!
BOOL CMyEdit::PreTranslateMessage(MSG* pMsg)
{
if( pMsg->message == WM_MOUSEMOVE)
{
//此处得到鼠标的位置可以
//return TRUE; // DO NOT process further
}
}
return CEdit::PreTranslateMessage(pMsg);
}在CMyEdit头文件加:
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
if( pMsg->message == WM_MOUSEMOVE)
{
}
里怎末获取坐标啊 ,CPoint p;?
p=pMsg->point?