控制台視窗的游標的位置反映的是當前文本輸入的插入位置,通過Windows API函數我們可以隨意更改游標的位置,下面介紹這個控制游標位置的API函
BOOL SetConsoleCursorPosition( //設定游標位置 HANDLE hConsoleOutput, //控制代碼 COORD dwCursorPosition //座標 ); //若函數調用成功則返回非0值
不僅僅是游標的位置,游標的資訊我們也可以通過一些API函數來設定,下面介紹游標資訊結構體已經獲得和設定游標資訊的API函數,如下:
typedef struct _CONSOLE_CURSOR_INFO //游標資訊結構體 { DWORD dwSize; //游標尺寸大小,範圍是1~100 BOOL bVisible; //表示游標是否可見,true表示可見 } CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO; BOOL GetConsoleCursorInfo( //獲得游標資訊 HANDLE hConsoleOutput, //控制代碼 PCONSOLE_CURSOR_INFO lpConsoleCursorInfo //游標資訊,注意這是個指標類型 ); BOOL SetConsoleCursorInfo( //設定游標資訊 HANDLE hConsoleOutput, //控制代碼 const CONSOLE_CURSOR_INFO *lpConsoleCursorInfo //游標資訊 );
本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/C/
下面的樣本程式來示範以上函數的使用
#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; //設定游標尺寸為1 SetConsoleCursorInfo(handle_out, &cci); _getch(); cci.dwSize = 50; //設定游標尺寸為50 SetConsoleCursorInfo(handle_out, &cci); _getch(); cci.dwSize = 100; //設定游標尺寸為100 SetConsoleCursorInfo(handle_out, &cci); _getch(); cci.bVisible = false; //設定游標為不可見 SetConsoleCursorInfo(handle_out, &cci); _getch(); return 0; }