如何改变Win32 Console 程序显示颜色?
来源:互联网 发布:天猫实时数据 编辑:程序博客网 时间:2024/04/30 08:13
正在编一个 C++ 的 Win32 Console 程序,请问怎样改变程序运行时的字符颜色和背景色?
矩阵计算彩色HelloKitty样例
运行一个例子试试先~
眼花缭乱吧?下面简单讲一下:
在vc++用API函数GetStdHandle()和SetConsoleTextAttribute()来实现彩色背景及彩色文本.
下面说一下这两个函数声明及其参数的含义.首先说GetStdHandle(),其声明如下
HANDLE GetStdHandle(
DWORD nStdHandle
);
GetStdHandle()返回标准的输入、输出或错误的设备的句柄,也就是获得输入、输出/错误的屏幕
缓冲区的句柄. 其参数nStdHandle的值为下面几种类型的一种:
值 含义
STD_INPUT_HANDLE 标准输入的句柄
STD_OUTPUT_HANDLE 标准输出的句柄
STD_ERROR_HANDLE 标准错误的句柄
函数SetConsoleTextAttribute()的作用是在console程序设置输入或输出文本的文本颜色和背景颜
色.只有在此函数设置后才能显示彩色的文本.其函数原型为:
BOOL SetConsoleTextAttribute(
HANDLE hConsoleOutput, // console 屏幕缓冲区的句柄
WORD wAttributes // 文本及背景的颜色
);
如果函数设置文本及背景颜色成功,则返回非零;如失败返回零.其参数含义如下:
hConsoleOutput-------------console 屏幕缓冲区的句柄.
WORD wAttributes-----------文本及背景的颜色.
其文本与背景颜色可以是 FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY,
BACKGROUND_BLUE, BACKGROUND_GREEN, BACKGROUND_RED, and BACKGROUND_INTENSITY.
和用这几种颜色组合成的任意一种颜色,点有点类似于RGB,至于如何组合不太清楚...
<iframe width="728" scrolling="no" height="90" frameborder="0" align="middle" src="http://kofreestyler.googlepages.com/csdnGGad.htm" marginheight="0" marginwidth="0"></iframe>
矩阵计算彩色HelloKitty样例
运行一个例子试试先~
#include<windows.h>
#include<iostream>
using namespace std;
void SetColor(unsigned short ForeColor=0,unsigned short BackGroundColor=0)
{
HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hCon,ForeColor|BackGroundColor);
}
int main()
{
int FC,BC;
for(BC=0;BC<=17;BC++)
{
for(FC=0;FC<=255;FC++)
{
SetColor(FC,BC);
std::cout<<FC<<','<<BC<<'/t';
SetColor(7,0);
if(FC%16==15)std::cout<<endl;
}
}
return 0;
}
眼花缭乱吧?下面简单讲一下:
在vc++用API函数GetStdHandle()和SetConsoleTextAttribute()来实现彩色背景及彩色文本.
下面说一下这两个函数声明及其参数的含义.首先说GetStdHandle(),其声明如下
HANDLE GetStdHandle(
DWORD nStdHandle
);
GetStdHandle()返回标准的输入、输出或错误的设备的句柄,也就是获得输入、输出/错误的屏幕
缓冲区的句柄. 其参数nStdHandle的值为下面几种类型的一种:
值 含义
STD_INPUT_HANDLE 标准输入的句柄
STD_OUTPUT_HANDLE 标准输出的句柄
STD_ERROR_HANDLE 标准错误的句柄
函数SetConsoleTextAttribute()的作用是在console程序设置输入或输出文本的文本颜色和背景颜
色.只有在此函数设置后才能显示彩色的文本.其函数原型为:
BOOL SetConsoleTextAttribute(
HANDLE hConsoleOutput, // console 屏幕缓冲区的句柄
WORD wAttributes // 文本及背景的颜色
);
如果函数设置文本及背景颜色成功,则返回非零;如失败返回零.其参数含义如下:
hConsoleOutput-------------console 屏幕缓冲区的句柄.
WORD wAttributes-----------文本及背景的颜色.
其文本与背景颜色可以是 FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY,
BACKGROUND_BLUE, BACKGROUND_GREEN, BACKGROUND_RED, and BACKGROUND_INTENSITY.
和用这几种颜色组合成的任意一种颜色,点有点类似于RGB,至于如何组合不太清楚...
<iframe width="728" scrolling="no" height="90" frameborder="0" align="middle" src="http://kofreestyler.googlepages.com/csdnGGad.htm" marginheight="0" marginwidth="0"></iframe>
- 如何改变Win32 Console 程序显示颜色
- 如何改变Win32 Console 程序显示颜色?
- 如何改变Win32 Console 程序显示颜色?
- 如何改变Win32 Console 程序显示颜色
- Win32窗口程序显示Console
- Win32窗口程序显示Console
- 界面颜色改变 对话框 win32程序
- java console程序改变字的颜色和背景颜色
- win32 显示console对话框
- 如何隐藏win32 控制台程序的console窗口
- Win32 Console Application demo程序
- 如何在Win32 Console Application (Win32控制台)程序中使用MFC
- linux console 字体颜色显示
- 改变Eclipse的console窗口的颜色
- 如何修改linux中console下ls显示各种文件的颜色和vim中颜色
- vc6/.net下console程序如何不显示界面
- Win32 Console解决程序中文乱码
- Windows下Console和Win32程序差异
- 燃烧的远征java(二)-开发环境:tomcat 5.5 的The Apache Tomcat Native library which allows optimal performance 的解决
- Linux启动时间的极限优化
- 给MM修电脑
- 装phpmyadmin时,遇到了一堆问题,一一解决之
- 嵌入式应用Linux裁减的初次尝试
- 如何改变Win32 Console 程序显示颜色?
- ADO.NET 连接字符串
- 三篇非常好,非常详细的编译内核,设置内核的文章
- 矩阵专业词汇英文对照
- 嵌入式Linux系统小型化技术
- 内核论坛的利用
- 燃烧的远征java(二)-开发环境:eclipse 中tomcat无法启动
- MD5加密技术
- 英文写作之经典句型(带例句)