Win32 API 提供了函数用于设置控制台应用光标的大小、可见度和屏幕位置。与这些函数相关的重要数据结构是 CONSOLE_CURSOR_INFO,其中包含了控制台光标的大小和可见度信息:
CONSOLE_CURSOR_INFO STRUCT
dwSize DWORD ?
bVisible DWORD ?
CONSOLE_CURSOR_INFO ENDS
dwSize 为光标填充的字符单元格的百分比(从 1 到 100)。如果光标可见,则 bVisible 等于 TRUE(1)。
1) GetConsoleCursorInfo 函数
函数 GetConsoleCursorInfo 返回控制台光标的大小和可见度。需向其传递指向结构 CONSOLE_CURSOR_INFO 的指针:
GetConsoleCursorInfo PROTO,
hConsoleOutput:HANDLE,
lpConsoleCursorInfo:PTR CONSOLE_CURSOR_INFO
默认情况下,光标大小为 25,这表示光标占据了 25% 的字符单元格。
2) SetConsoleCursorInfo 函数
函数 SetConsoleCursorInfo 设置光标的大小和可见度。需向其传递指向结构 CONSOLE_CURSOR_INFO 的指针:
SetConsoleCursorInfo PROTO,
hConsoleOutput:HANDLE,
lpConsoleCursorInfo:PTR CONSOLE_CURSOR_INFO
3) SetConsoleCursorPosition
函数 SetConsoleCursorPosition 设置光标的 X、Y 位置。向其传递一个 COORD 结构和控制台输岀句柄:
SetConsoleCursorPosition PROTO,
hConsoleOutput:DWORD, ;输入模式句柄
dwCursorPosition:COORD ;屏幕 X、Y 坐标