-3
如何检测点击(x,y)
坐标点是否会产生任何动作? 例如,是否有任何布尔函数(在c + +中)或类似的东西,可以告诉我,如果双击(200,200)
坐标点将实际进行点击之前创建任何操作?检测点击鼠标动作
如何检测点击(x,y)
坐标点是否会产生任何动作? 例如,是否有任何布尔函数(在c + +中)或类似的东西,可以告诉我,如果双击(200,200)
坐标点将实际进行点击之前创建任何操作?检测点击鼠标动作
使用ReadConsoleInput
进行鼠标事件。
您可以查看微软的操作系统。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms685035(v=vs.85).aspx
再次取样代码:
#include <iostream>
#include <stdlib.h>
#include <windows.h>
using namespace std;
int main()
{
cout<<"click anywhere in console window to write - hello world -\n\n\n\n\n\n\n\n\n\n\n\n\n"
"Press Ctrl+C to Exit";
HANDLE hout= GetStdHandle(STD_OUTPUT_HANDLE);
HANDLE hin = GetStdHandle(STD_INPUT_HANDLE);
INPUT_RECORD InputRecord;
DWORD Events;
COORD coord;
CONSOLE_CURSOR_INFO cci;
cci.dwSize = 25;
cci.bVisible = FALSE;
SetConsoleCursorInfo(hout, &cci);
SetConsoleMode(hin, ENABLE_PROCESSED_INPUT | ENABLE_MOUSE_INPUT);
while(1)
{
ReadConsoleInput(hin, &InputRecord, 1, &Events);
if(InputRecord.EventType == MOUSE_EVENT)
{
if(InputRecord.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED)
{
coord.X = InputRecord.Event.MouseEvent.dwMousePosition.X;
coord.Y = InputRecord.Event.MouseEvent.dwMousePosition.Y;
SetConsoleCursorPosition(hout,coord);
SetConsoleTextAttribute(hout,rand() %7+9);
cout<<"Hello world" ;
}
}
FlushConsoleInputBuffer(hin);
}
return 0;
}
您还没有表现出你已经尝试或迄今为止研究。而你甚至不说哪个系统。鼠标点击和GUI不是标准C++的一部分。作为开发人员,您有责任为您的编译器和操作系统选择一个库或框架,并权衡所有可能选择的优缺点。 – 2014-08-31 18:10:54