注意事项:
需要头文件windows.h
把代码写在定义变量的上面
移动光标
移动光标。
void move( int x , int y ){
COORD point = { x , y };
HANDLE HOutput = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleCursorPosition(HOutput, point);
}
获得鼠标的坐标
获得鼠标坐标。
POINT p;
int x_=p.x;
int y_=p.y;
void popxy(){
CONSOLE_FONT_INFO k;
GetCursorPos(&p);
ScreenToClient(GetForegroundWindow(),&p);
GetCurrentConsoleFont(GetStdHandle(STD_OUTPUT_HANDLE),FALSE,&k);
x_=p.x/k.dwFontSize.X;
y_=p.y/k.dwFontSize.Y;
}
光标隐藏/显示
移动光标的时候要把这个关了,不然光标乱闪。
void gbc(BOOL a){
HANDLE gb =GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO cursor_info;
GetConsoleCursorInfo(gb,&cursor_info);
cursor_info.bVisible=a;
SetConsoleCursorInfo(gb,&cursor_info);
}
文字颜色
调整文字颜色。
颜色表文章最后。
void setcolor(int a){
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);
}
关闭快速编辑
点控制台不然会选中文字。
void ksbj(){
HANDLE a =GetStdHandle(STD_INPUT_HANDLE);
DWORD b;
GetConsoleMode(a,&b);
b &= ~ENABLE_QUICK_EDIT_MODE;
SetConsoleMode(a,b);
}
鼠标点击
可以配合鼠标坐标来实现控制台和鼠标互动。
按键 | 方法 |
---|---|
鼠标右键 | if(key(VK_RBUTTON)) |
鼠标左键 | if(key(VK_LBUTTON)) |
鼠标中键 | if(key(VK_MBUTTON)) |
#define key(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
//放头文件下面