2010-02-27 40 views

Trả lời

16

Điều này phụ thuộc vào hệ điều hành bạn đang sử dụng.

Nếu bạn đang sử dụng cửa sổ bạn muốn SetConsoleTextAttribute:

HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); // Get handle to standard output 
SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE); 

Bạn cũng có thể kết hợp các giá trị.

Ứng dụng có thể kết hợp các hằng số nền và nền sau và đạt được các màu khác nhau. Ví dụ: kết quả kết hợp sau trong văn bản màu lục lam sáng trên nền màu xanh lam.

FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_BLUE

Sau đó, bạn có thể sử dụng WriteFile hoặc WriteConsole để thực sự viết bảng điều khiển.

+0

Tôi tự hỏi tại sao câu trả lời này đã không được chấp nhận. – SwiftsNamesake

+0

Xin chào, tôi muốn tạo trò chơi trên bàn điều khiển và tự hỏi liệu có một bài viết hoặc trang cụ thể mô tả tất cả các chức năng điều khiển liên quan này để thay đổi màu sắc và nội dung văn bản không? –

-1

Có bạn có thể sử dụng hệ thống(); để chạy các lệnh từ command.com và một trong số đó là màu. màu sẽ giúp bạn có được màu xanh mà bạn muốn. bạn cũng có thể thấy các màu khác từ màu tùy chọn trợ giúp /? . và cho điều in đậm bạn có thể sử dụng các ký tự từ biểu đồ ascii để làm điều đó. chẳng hạn như "\ n" Là dòng mới.

6

Có, bạn chỉ cần gửi standard escape sequence, ví dụ:

const char* green = "\033[0;32m"; 
    const char* white = "\033[0;37m"; 
    const char* red = "\033[0;31m"; 
    double profit = round(someComplicatedThing()); 
    std::cout << (profit < 0 ? red : (profit > 0 ? green : white)) 
       << "Profit is " << profit << white << std::endl; 

Bạn cũng có được đậm vs nền bình thường, màu vv Wikipedia page on ANSI escape code có thông tin chi tiết, các Bash-Prompt HOWTO có ví dụ.

+5

Đừng quên ghi lại cách tải ANSI.SYS, nó không phải là tự động. –

+9

Tính năng này không hoạt động trên Windows –

+2

Tính năng này không hoạt động trên Windows. – Kyberias

3

You can use this tiny libraries which I have used personally before. Nó rất dễ sử dụng và tích hợp với các luồng chuẩn. Nó có một chức năng màn hình giao diện điều khiển rõ ràng btw. Ví dụ này là từ một mã tôi đã viết:

std::cout << con::clr; // Clear the Intro Screen 
// fg means the foreground 
std::cout << std::endl << std::endl << con::fg_green 
    << "\t\tFile Encrypted!"; 
-2

Một cách nhanh chóng: include #include <stdlib.h> và sau đó thêm system("color 5B"); trước văn bản mà bạn muốn. Vì vậy, nó sẽ giống như thế này:

#include <stdlib.h> 
std::cout << "blblabla..."<<std::endl; 
system("color 5B"); 
std::cout<< "[done]" << std::endl; 

Bạn có thể thử màu sắc khác nhau: 1A, 2B, 3C, 4F ...

Các vấn đề liên quan