C语言控制台窗口图形界面编程之六 光标操作2015-01-16控制台窗口的光标的位置反映的是当前文本输入的插入位置,通过Windows API函数我们可以随意更改光标的位置,下面介绍这个控制光标位置的API函
BOOL SetConsoleCursorPosition(//设置光标位置HANDLE hConsoleOutput,//句柄COORD dwCursorPosition//坐标);//若函数调用成功则返回非0值
不仅仅是光标的位置,光标的信息我们也可以通过一些API函数来设置,下面介绍光标信息结构体已经获得和设置光标信息的API函数,如下:
typedef struct _CONSOLE_CURSOR_INFO //光标信息结构体{DWORD dwSize; //光标尺寸大小,范围是1~100BOOLbVisible; //表示光标是否可见,true表示可见} CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;BOOL GetConsoleCursorInfo(//获得光标信息HANDLE hConsoleOutput,//句柄PCONSOLE_CURSOR_INFO lpConsoleCursorInfo//光标信息,注意这是个指针类型);BOOL SetConsoleCursorInfo(//设置光标信息HANDLE hConsoleOutput,//句柄const CONSOLE_CURSOR_INFO *lpConsoleCursorInfo//光标信息);
下面的示例程序来演示以上函数的使用
#include <stdio.h>#include <Windows.h>#include <conio.h>#include <stdlib.h>int main(){HANDLE handle_out = GetStdHandle(STD_OUTPUT_HANDLE);//获得标准输出设备句柄CONSOLE_CURSOR_INFO cci;//定义光标信息结构体GetConsoleCursorInfo(handle_out, &cci); //获得当前光标信息_getch();cci.dwSize = 1; //设置光标尺寸为1SetConsoleCursorInfo(handle_out, &cci);_getch();cci.dwSize = 50;//设置光标尺寸为50SetConsoleCursorInfo(handle_out, &cci);_getch();cci.dwSize = 100; //设置光标尺寸为100SetConsoleCursorInfo(handle_out, &cci);_getch();cci.bVisible = false; //设置光标为不可见SetConsoleCursorInfo(handle_out, &cci);_getch();return 0;}




From:cnblogs 龙梦之痕