C语言控制台窗口图形界面编程(六):光标操作

  控制台窗口的光标的位置反映的是当前文本输入的插入位置,通过Windows API函数我们可以随意更改光标的位置,下面介绍这个控制光标位置的API函

 
  1. BOOL SetConsoleCursorPosition(  //设置光标位置  
  2.     HANDLE hConsoleOutput,      //句柄  
  3.     COORD dwCursorPosition      //坐标  
  4. );      //若函数调用成功则返回非0值  

 

       不仅仅是光标的位置,光标的信息我们也可以通过一些API函数来设置,下面介绍光标信息结构体已经获得和设置光标信息的API函数,如下:


 
  1. typedef struct _CONSOLE_CURSOR_INFO     //光标信息结构体  
  2. {  
  3.     DWORD dwSize;       //光标尺寸大小,范围是1~100  
  4.     BOOL  bVisible;     //表示光标是否可见,true表示可见  
  5. } CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;  
  6.   
  7. BOOL GetConsoleCursorInfo(      //获得光标信息  
  8.     HANDLE hConsoleOutput,      //句柄  
  9.     PCONSOLE_CURSOR_INFO lpConsoleCursorInfo    //光标信息,注意这是个指针类型  
  10. );  
  11.   
  12. BOOL SetConsoleCursorInfo(      //设置光标信息  
  13.     HANDLE hConsoleOutput,      //句柄  
  14.     const CONSOLE_CURSOR_INFO *lpConsoleCursorInfo  //光标信息  
  15. );  

 

 

       下面的示例程序来演示以上函数的使用


  1. #include <stdio.h>  
  2. #include <Windows.h>  
  3. #include <conio.h>  
  4. #include <stdlib.h>  
  5.   
  6. int main()  
  7. {  
  8.     HANDLE handle_out = GetStdHandle(STD_OUTPUT_HANDLE);    //获得标准输出设备句柄  
  9.     CONSOLE_CURSOR_INFO cci;        //定义光标信息结构体  
  10.     GetConsoleCursorInfo(handle_out, &cci);     //获得当前光标信息  
  11.     _getch();  
  12.     cci.dwSize = 1;     //设置光标尺寸为1  
  13.     SetConsoleCursorInfo(handle_out, &cci);  
  14.     _getch();  
  15.     cci.dwSize = 50;    //设置光标尺寸为50  
  16.     SetConsoleCursorInfo(handle_out, &cci);  
  17.     _getch();  
  18.     cci.dwSize = 100;   //设置光标尺寸为100  
  19.     SetConsoleCursorInfo(handle_out, &cci);  
  20.     _getch();  
  21.     cci.bVisible = false;       //设置光标为不可见  
  22.     SetConsoleCursorInfo(handle_out, &cci);  
  23.     _getch();  
  24.     return 0;  
  25. }  

转载于:https://www.cnblogs.com/lxl0928/p/3800764.html

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值