if (i==0)
{
//Here I've to do MouseDown operation
}
else
{
//perform MouseUp operation
}
これは、上記のようなことをしたいサンプルコードです...
SetCursorPos()でマウスを動かすことができます。では、クリックイベントを実行するにはどうすればよいですか
if (i==0)
{
//Here I've to do MouseDown operation
}
else
{
//perform MouseUp operation
}
これは、上記のようなことをしたいサンプルコードです...
SetCursorPos()でマウスを動かすことができます。では、クリックイベントを実行するにはどうすればよいですか
まあ、highguiウィンドウの場合は、代わりにこれを試してください:
void onmouse( int event, int x, int y, int d, void *ptr )
{
// cache coords for use in main()
cv::Point * p = (cv::Point *)ptr;
p->x = x;
p->y = y;
if ( event != 0 )
cout << event << " " << x << " " << y << " " << d << " " << endl;
}
int main()
{
cv::namedWindow("win",1);
cv::Point p;
cv::SetMouseCallback("win",onmouse,(void*)(&p));
...
// whenever someone clicks or moves, the coords will be in p now
SendInput
WinAPI 関数を使用して、任意の形式の入力をシミュレートできます(非推奨のmouse_event
関数もあります。これは使いやすいですが、非推奨/置き換えとしてマークされています)。
あなたが何をしているかに応じて、SendMessage
(ブロッキング) またはPostMessage
(ノンブロッキング) のほうが使いやすい/使いやすいかもしれません。これらは入力イベントによって生成されたウィンドウ メッセージを直接送信するからです。