-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