console程序显示彩色文字

console程序显示彩色文字

源码:点击下载(http://download.csdn.net/source/705141

1、概要

相信大部分关注本篇文章的你们都曾经写过console程序,那么你们是否面厌烦了一层不变的“黑底白字”的屏幕,是否有曾想过要给console程序的屏幕画画“彩妆”呢?本篇文章就是介绍如何给console程序显示彩色文字。

2、给console程序屏幕画彩妆

直接进入主题,需要用到的函数有:

GetStdHandle

SetConsoleTextAttribute

另外演示代码中还用到了:

WriteFile

GetConsoleScreenBufferInfo

2.1GetStdHandle

GetStdHandle是获得标准的输入、输出和错误的设备句柄,也就是获得输入、输出/错误的屏幕缓冲区句柄。

HANDLE GetStdHandle(
       
       
DWORD nStdHandle   // input, output, or error device
      
      
);
      
      

nStdHandle可以是下列值之一

Value

Meaning

STD_INPUT_HANDLE

Standard input handle

STD_OUTPUT_HANDLE

Standard output handle

STD_ERROR_HANDLE

Standard error handle

如果返回的标准的输入设备句柄,那么,你可以用ReadFile函数从console屏幕来读取由键盘输入的字符串,就像C语言中的scanf函数。如果是标准的输出设备句柄,那么可以用WriteFile函数向屏幕写入要显示的字符串,类似C语言中的printf函数。错误设备句柄也只能作为输出。

注意:nStdHandle不能是两个或两个以上值的组合,也就是说GetStdHandle获得的一个标准设备句柄,要不只能输入,要不只能输出,不可兼得。

2.2SetConsoleTextAttribute

Console默认的屏幕字体为黑底白字,SetConsoleTextAttribute能改变字体的背景色和字体颜色,只有调用了该函数,console的字体颜色还能得以改变。其原型为:

BOOL SetConsoleTextAttribute(
       
       
  HANDLE hConsoleOutput,  // handle to console screen buffer
       
       
  WORD wAttributes        // text and background colors
       
       
);
       
       

 

hConsoleOutput

GetStdHandle获得的标准输入、输出和设备句柄。

wAttributes

要设定的颜色值,FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY, BACKGROUND_BLUE,

2.3GetConsoleScreenBufferInfo

这个函数的作用仅仅是获取当前console屏幕的一些属性值,其中就包括字体颜色。

3、总结

介绍到这里,相信大家都明白了,跃跃欲试吗,那就赶快啊。O(_)O

4、声明

本文章仅供参考,如有错误之处,望大家多多指点。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值