MFC中,我能过GetCursorPos()来获取鼠标当前的屏幕坐标,但是我想获取当前窗口的坐标。
3个回答
展开全部
因为你使用的这个函数并没有在窗口中定义,要实现这个功能的话你只只有通过一个消息,那就是添加消息WM_NCHITTEST .得到如下的代码。
UINT CServerAddrDlg::OnNcHitTest(CPoint point)
{
// TODO: Add your message handler code here and/or call default
return CDialog::OnNcHitTest(point);
}
void CServerAddrDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
{
CDialog::OnActivate(nState, pWndOther, bMinimized);
// TODO: Add your message handler code here
}
OnNcHitTest函数中的point就是你需要的点的坐标了。还有就是一个全局的API函数,我记得不清了,因为我做的时候都是用这个方法。
UINT CServerAddrDlg::OnNcHitTest(CPoint point)
{
// TODO: Add your message handler code here and/or call default
return CDialog::OnNcHitTest(point);
}
void CServerAddrDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
{
CDialog::OnActivate(nState, pWndOther, bMinimized);
// TODO: Add your message handler code here
}
OnNcHitTest函数中的point就是你需要的点的坐标了。还有就是一个全局的API函数,我记得不清了,因为我做的时候都是用这个方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-08-29
展开全部
如果是本身程序,把你取的坐标减去窗体的left和top值即可
如果是别的程序的,得需要得到窗体的HWND,然后就能得到窗体的left和top值,原理同上
如果是别的程序的,得需要得到窗体的HWND,然后就能得到窗体的left和top值,原理同上
追问
嗯,说的很对。我改了,还是不太对,你说的别的程序是什么意思?
追答
就是操作别的软件啊,比如qq啦,浏览器啦等等
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询