Tôi biết một chút về cách thực hiện các màu trong giao diện điều khiển Win32 C++. Nhưng nó không thực sự hiệu quả. Ví dụ:Bàn điều khiển C++ Win32 Màu
SYSTEM("color 01")
Làm chậm quá trình xử lý của bạn. Ngoài ra:
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, FOREGROUND_RED);
Hoạt động tốt, nhưng không có nhiều màu. Ngoài ra, FOREGROUND_RED
có màu đỏ đậm.
Vì vậy, những gì tôi muốn hỏi, không có cách nào như thuộc tính CLR Console::ForegroundColor
thiết lập, vì vậy bạn có thể sử dụng bất kỳ màu nào từ bảng điều khiển ConsoleColor?
Các bạn đã cố gắng thiết lập Cờ 'FOREGROUND_INTENSITY' để làm cho màu đỏ sáng? Ví dụ: 'SetConsoleTextAttribute (h, FOREGROUND_RED | FOREGROUND_INTENSITY)' –
Điều đó làm việc, nhưng tôi vẫn tự hỏi liệu có cách nào để có được nhiều màu hơn, có thể với bảng màu? –
Bàn điều khiển chỉ hỗ trợ 16 màu, được tạo bằng cách kết hợp FOREGROUND_RED, FOREGROUND_BLUE, FOREGROUND_GREEN và FOREGROUND_INTENSITY. – riv