PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] MFC的鼠标事件
楼主:
student23489
(云§淡)
2020-05-24 12:57:19
开发平台(Platform): (Ex: Win10, Linux, ...)
win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
Visual Studio 2019
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
MFC
问题(Question):
目前有个问题是要抓鼠标所在位置的座标
小弟是使用OnMouseMove这个函式,发现只能抓取视窗内鼠标座标,无法抓到视窗外
(如桌面)的鼠标位置
想请问一下有什么办法能实现吗? 因为刚接触MFC不太了解
以下是我的程式码
void CmouseMoveCurPosDlg::OnMouseMove(UINT nFlags, CPoint point)
{
CClientDC dc(this);
CString str;
ClientToScreen(&point);
str.Format(_T(X: %04d, Y: %04d), point.x, point.y);
dc.TextOutW(10, 10, str);
CDialogEx::OnMouseMove(nFlags, point);
}
会选MFC是因为公司要开发内部使用的视窗程式,而主管要求使用MFC,因为他比较熟悉
MFC的接口
作者:
binary
2020-05-24 15:53:00
使用hook呢?
作者: WPC001 (好闷, 迷惘~~)
2020-05-24 16:25:00
超过你的视窗... 这已经跟MFC无关了... 直接用hook吧参考看看 SetWindowsHookEx() + WH_MOUSE吧...
作者:
Schottky
(顺风相送)
2020-05-24 20:35:00
一般是用 SetCapture 和 ReleaseCapture 去截收鼠标事件,但这招通常用在拖曳,放开就释放 capture。鼠标移出视窗以后就属于别的视窗了,移动事件被你拦截,会造成其他视窗根本没办法操作,这是你要的效果吗?MSDN 的说明:
https://bit.ly/3bTUesB
楼主:
student23489
(云§淡)
2020-05-25 22:31:00
感谢上面三位大大提供意见,我研究一下这些方法
继续阅读
请问namespace前的双冒号
butterflyred
[问题] CLion的gcc.exe损坏
jack41402
[问题] 为何外部传Object 可读其Object private值
joejoe14758
Re: [讨论] 对于同事的coding style感到很感冒
poyenc
Re: [讨论] 对于同事的coding style感到很感冒
lovejomi
Re: [讨论] 对于同事的coding style感到很感冒
lovejomi
Re: [讨论] 对于同事的coding style感到很感冒
poyenc
[问题]请问 opencv的dft
michael9801
[问题] 应用Semaphore于容器
forgmonkey
[问题] 有关于typedef省略的问题?
cat99961
Links
booklink
Contact Us: admin [ a t ] ucptt.com