首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法在mfc应用程序中获得光标位置?

有没有办法在mfc应用程序中获得光标位置?
EN

Stack Overflow用户
提问于 2012-12-13 01:04:46
回答 1查看 3.6K关注 0票数 3

我使用OnKeyDown处理程序来检测Enter键的按下情况:

代码语言:javascript
运行
复制
void CShortestPathFinderView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
  if( nChar == VK_RETURN)    //Enter key is pressed
{
    CClientDC aDC(this);
    rubberbanding = 0;
            m_pTempElement->vertices[i++]=  /*cursor position??*/;
    mSecondPoint=m_pTempElement->vertices[0];
    m_pTempElement->Draw(&aDC);
}

在if语句的第三行中,我需要将光标位置存储在一个数组中,但是如何获取该点呢?训练员给我提供了吗?或者有一个单独的函数来做这件事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-13 01:17:42

要获取当前光标位置,可以调用GetCursorPos。我不相信MFC为这个提供了一个包装器,所以它就是Win32 ::GetCursorPos。它返回屏幕坐标中的点,因此您(几乎肯定)希望在存储它之前使用ScreenToClient将其转换为客户区坐标。

但是请注意,当您调用GetCursorPos时,它将返回光标的位置。这可能与按键时光标所处的位置完全相同,也可能不完全相同(尽管通常至少相当接近)。

通常,要像这样添加光标位置,您需要对用户单击鼠标按钮(例如,WM_LBUTTONDOWN)做出反应。单击按钮时,该消息将告诉您鼠标的位置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13844886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档