控制台界面控制(八):光标设置
来源:互联网 发布:知美术馆官网 电话 编辑:程序博客网 时间:2024/05/16 13:04
光标的作用在于提醒使用者,你的输入将会在这个位置出现。目前对于光标的操作只有一个,移动光标,改变输出的位置。有时候光标在那里一闪一闪的是不行的,比如做了一个菜单,或者一个封面。可以在控制台使用的函数中有一个可以用来隐藏光标,除此之外,它在光标显示的时候还能设置光标的厚度。
效果
#include "MyConsole.h"#include <stdio.h>int main() { CMyConsole myConsole; system("pause");// 暂停(默认光标样式)myConsole.HideCursor();system("pause");// 暂停(隐藏光标)myConsole.ShowCursor(100);system("pause");// 暂停(最厚光标)return 0; }
默认厚度的光标
隐藏光标
厚度为100的光标
相关信息
设置光标显示与隐藏,还有在显示的时候要显示多厚的光标,都在一个函数中设置:
BOOL SetConsoleCursorInfo(// 设置光标信息HANDLEhConsoleOutput,// 句柄CONST CONSOLE_CURSOR_INFO *lpConsoleCursorInfo // 光标信息);
Set 对应的是 Get 函数,除了名称不同外,其他都一样。关键结构 CONSOLE_CURSOR_INFO 内容:
typedef struct _CONSOLE_CURSOR_INFO { DWORD dwSize;// 光标百分比厚度(1~100) BOOL bVisible;// 是否可见} CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;
设置光标函数
为了让功能更清晰一些,计划把设置光标函数分成两个。一个是隐藏光标,另一个是显示光标(参数为光标大小)。
// ---- 显示光标void CMyConsole::ShowCursor(DWORD dwSize/* =20 */) const{CONSOLE_CURSOR_INFO curInfo;curInfo.dwSize = dwSize;curInfo.bVisible = TRUE;SetConsoleCursorInfo(hOut, &curInfo);}// ---- 隐藏光标void CMyConsole::HideCursor() const{CONSOLE_CURSOR_INFO curInfo;curInfo.dwSize = 1;// 如果没赋值的话,隐藏光标无效curInfo.bVisible = FALSE;SetConsoleCursorInfo(hOut, &curInfo);}
- 控制台界面控制(八):光标设置
- 控制台界面控制(八):光标设置
- 控制台界面控制(三):设置窗口标题
- 控制台界面控制(三):设置窗口标题
- Windows控制台光标控制
- windows控制台光标控制
- 控制台控制光标位置
- 控制台界面控制(一)
- 控制台界面控制(四)
- 控制台界面控制(四)
- 控制台界面控制(四)
- 控制台光标(二):设置光标位置
- 控制台界面控制(二):清屏
- 控制台界面控制(五):文字颜色
- 控制台界面控制(六):边框
- 控制台界面控制(七):移动文本
- 控制台界面控制(五):文字颜色
- 控制台界面控制(六):边框
- 学习设计模式_01 GOF, 设计模式和J2EE
- 字符串循环移位
- Xmanager Failed to get the installation date from the system registry的解决方法
- MyEclipse中SVN的使用方法
- Android下PocketSphinx的离线语音识别
- 控制台界面控制(八):光标设置
- 两个类求三角形的面积和周长
- poj 3709 K-Anonymous Sequence(斜率优化DP)
- java中的序列化与反序列化
- 自信--经典语录
- 中秋加班的IT朋友们节日快乐
- WebService 基于Axis1.4框架(三)
- windows7和ubuntu双系统安装
- UNICODE,GBK,UTF-8区别