Visual c++ 在mfc应用程序中是否有获取光标位置的方法?

Visual c++ 在mfc应用程序中是否有获取光标位置的方法?,visual-c++,mfc,Visual C++,Mfc,我正在使用OnKeyDown处理程序检测是否存在回车键按下: void CShortestPathFinderView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { if( nChar == VK_RETURN) //Enter key is pressed { CClientDC aDC(this); rubberbanding = 0; m_pTempElement->verti

我正在使用OnKeyDown处理程序检测是否存在回车键按下:

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语句的第3行中,我需要将光标位置存储在数组中,但如何获取该点?经办人给我提供了吗?或者是否有单独的函数来执行此操作?

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

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


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

@Jerry Coffin,我已经编辑过了。谢谢你指出这一点,我不知道它有多含糊。