如何通过单击鼠标左键来获取鼠标光标位置?

时间:2014-08-28 14:11:37

标签: c++ winapi

我真的很难实现鼠标事件功能。我被要求由其中一个stackexchange用户Drawing rectangle or line using mouse events in open cv using python阅读以下链接。因此,当我浏览以下链接时,我理解了代码,但后来我想编写一个简单的程序,这样每当用户点击他/她的左键单击时,鼠标的位置就会显示在控制台窗口中。现在,这是我的代码。令我困惑的一件事是,不仅我得到一个没有鼠标位置的空白窗口,而且我有这个问题,我必须要求用户按下鼠标左键,然后执行鼠标回调功能。多数民众赞成在那里,我认为我做错了,因为我没有给用户提供点击左键的选项,程序在没有该选项的情况下执行。有没有办法解决它?这是我的代码。请指正。我需要理解这个东西,因为我必须使用鼠标事件功能执行一些复杂的任务。所以,我需要完全掌握这个概念,并了解我做错了什么。感谢。

bool clicked = false;
int x,y;
POINT Q;

void onMouse( int event, int x, int y, int f, void* )
      {
            switch(event) {
            case CV_EVENT_LBUTTONDOWN:
                    clicked = true;
                    GetCursorPos(&Q);
                    x = Q.x;
                    y = Q.y;

                    cout<<"The position of the mouse is:"<<x<<y<<endl;
                    break;

               default:
                break;

            }
      }

int main()
{
cout<<"Mouse event program"<<endl;
setMouseCallback("Mouseposition",onMouse,NULL);
system("pause");
}

0 个答案:

没有答案
相关问题