C语言更改控制台字体颜色

/*
颜色函数SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),前景色 | 背景色 | 前景加强 | 背景加强);

前景色:数字0-15 或 FOREGROUND_XXX 表示	(其中XXX可用BLUE、RED、GREEN表示) 
前景加强:数字8 或 FOREGROUND_INTENSITY 表示
背景色:数字16 32 64 或 BACKGROUND_XXX 三种颜色表示 
背景加强: 数字128 或 BACKGROUND_INTENSITY 表示
主要应用:
改变指定区域字体与背景的颜色
前景颜色对应值:
0=黑色                8=灰色 
1=蓝色                9=淡蓝色        十六进制         
2=绿色                10=淡绿色       0x0a
3=湖蓝色             11=淡浅绿色     0x0b 
4=红色                12=淡红色       0x0c    
5=紫色                13=淡紫色       0x0d           
6=黄色                14=淡黄色       0x0e           
7=白色                15=亮白色       0x0f 
*/

//该函数主要为了更改字体颜色,若想更改背景颜色可进行修改
void Set_Color(short color)	//自定义函根据参数改变字体颜色 
{
	if(x>=0 && x<=15)	//参数在0-15的范围颜色    	
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);	
	else	//默认的颜色白色 
		SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
}
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
修改控制台字体大小可以使用Windows API函数SetCurrentConsoleFontEx,示例代码如下: ```c #include <windows.h> int main() { HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_FONT_INFOEX info = { sizeof(info) }; GetCurrentConsoleFontEx(console, FALSE, &info); info.dwFontSize.X = 16; info.dwFontSize.Y = 16; SetCurrentConsoleFontEx(console, FALSE, &info); return 0; } ``` 创建窗口可以使用Windows API函数CreateWindowEx,示例代码如下: ```c #include <windows.h> LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASSEX wc; HWND hwnd; MSG Msg; // Step 1: Registering the Window Class wc.cbSize = sizeof(WNDCLASSEX); wc.style = 0; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wc.lpszMenuName = NULL; wc.lpszClassName = "WindowClass"; wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); if (!RegisterClassEx(&wc)) { MessageBox(NULL, "Window Registration Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK); return 0; } // Step 2: Creating the Window hwnd = CreateWindowEx( WS_EX_CLIENTEDGE, "WindowClass", "My First Window", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 240, 120, NULL, NULL, hInstance, NULL); if (hwnd == NULL) { MessageBox(NULL, "Window Creation Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK); return 0; } ShowWindow(hwnd, nCmdShow); UpdateWindow(hwnd); // Step 3: The Message Loop while (GetMessage(&Msg, NULL, 0, 0) > 0) { TranslateMessage(&Msg); DispatchMessage(&Msg); } return Msg.wParam; } LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd, msg, wParam, lParam); } return 0; } ``` 设置定时器可以使用Windows API函数SetTimer,示例代码如下: ```c #include <windows.h> LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // ... // Step 4: Setting a Timer SetTimer(hwnd, 1, 1000, NULL); // ... return Msg.wParam; } LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_TIMER: MessageBox(hwnd, "Timer Fired!", "Info", MB_ICONINFORMATION | MB_OK); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd, msg, wParam, lParam); } return 0; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值