控制台光标隐藏
发布日期:2021-05-07 01:32:38 浏览次数:43 分类:精选文章

本文共 1127 字,大约阅读时间需要 3 分钟。

有一个结构为

typedef struct _CONSOLE_CURSOR_INFO {  DWORD dwSize;// 光标百分比厚度(1~100)   BOOL  bVisible;// 是否可见  } CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;

是控制台的一个自带的结构体,用户直接通过调用它定义的两个对象就行了

例如隐藏光标:

void HideCursor(int n) /*隐藏光标*/{     CONSOLE_CURSOR_INFO cursor_info={1,n};    SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);} //隐藏光标只需要把n设置为0也就是把上面的结构体的bVisible设置为false就可以了

对于将光标移动到指定位置需要:

void GotoXy(int x,int y)  //将光标移到(x,y){    HANDLE hout;   /*HANDLE:句柄,是Windows用来表示对象的(不是C++的对象),HWND是其中一种,HWND是HANDLE,但HANDLE不只是HWND,HANDLE是一个通用句柄表示,HWND是一个专用表示窗口的句柄。更具体的可查找MSDN。包含在winnt.h头文件中。*/    COORD coord;   	//COORD的解释在下面    coord.X=x;    coord.Y=y;    hout=GetStdHandle(STD_OUTPUT_HANDLE);    //这个函数的解释也在下面    SetConsoleCursorPosition(hout,coord);    //也在下面}
//COORD是Windows API中定义的一种结构,表示一个字符在控制台屏幕上的坐标。其定义为:typedef struct _COORD {SHORT X; // horizontal coordinateSHORT Y; // vertical coordinate} COORD;
GetStdHandle是一个Windows API函数。它用于从一个特定的标准设备(标准输入、标准输出或标准错误)中取得一个句柄(用来标识不同设备的数值)。可以嵌套使用。声明:HANDLE GetStdHandle( DWORD nStdHandle );

参数有

在这里插入图片描述

SetConsoleCursorPosition是一个window api;作用是设置控制台(cmd)光标位置,参数通过上面也看到了,一个是句柄,一个是坐标
上一篇:poj3260The Fewest Coins
下一篇:尺取法 poj-3061Subsequence

发表评论

最新留言

关注你微信了!
[***.104.42.241]2025年04月02日 17时57分15秒