首页 > 代码库 > 设置控制台(命令行)窗口 光标位置,及前背景颜色
设置控制台(命令行)窗口 光标位置,及前背景颜色
#include "stdafx.h"#include <stdio.h>#include <windows.h>/*#define FOREGROUND_BLUE 0x0001 // text color contains blue.#define FOREGROUND_GREEN 0x0002 // text color contains green.#define FOREGROUND_RED 0x0004 // text color contains red.#define FOREGROUND_INTENSITY 0x0008 // text color is intensified.#define BACKGROUND_BLUE 0x0010 // background color contains blue.#define BACKGROUND_GREEN 0x0020 // background color contains green.#define BACKGROUND_RED 0x0040 // background color contains red.#define BACKGROUND_INTENSITY 0x0080 // background color is intensified.*///更改当前输出的颜色(前景色/背景色)void ColorPrintf(WORD cl,char* str){ static HANDLE h = GetStdHandle ( STD_OUTPUT_HANDLE ); //WORD wOldColorAttrs; //CONSOLE_SCREEN_BUFFER_INFO csbiInfo; //First save the current color information //GetConsoleScreenBufferInfo(h, &csbiInfo); //wOldColorAttrs = csbiInfo.wAttributes; //Set the new color information SetConsoleTextAttribute ( h, cl ); printf ( str); //Restore the original colors //SetConsoleTextAttribute ( h, wOldColorAttrs); SetConsoleTextAttribute(h, FOREGROUND_INTENSITY | FOREGROUND_INTENSITY);}//移动输入光标位置void MoveCursorTo(int x,int y){ static HANDLE m=GetStdHandle(STD_OUTPUT_HANDLE); COORD cp={x,y}; SetConsoleCursorPosition(m,cp);}int main ( void ){ char st[10]; ColorPrintf (FOREGROUND_BLUE | FOREGROUND_INTENSITY, "This is a color test\n" ); for (int j=0;j<255;j+=16){ for (int i=0;i<16;i++) { sprintf(st,"%02x ",j+i); ColorPrintf(j+i,st); } printf("\n");} //printf("\n\n"); //MoveCursorTo( 1, 9 ); //ColorPrintf(0x0083,"This is a test\n"); return 0;}
设置控制台(命令行)窗口 光标位置,及前背景颜色
设置控制台(命令行)窗口 光标位置,及前背景颜色
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。