Cách đổi màu chữ trong Dev C++
Xem thêm: https://blogcôngnghệ.vn/category/internet Nguồn: https://blogcôngnghệ.vn
Đôi khi bạn cảm thấy nhàm chán với màn hình console đen trắng đơn điệu, bạn muốn thay đổi nó. Rất đơn giản, chép đoạn code dưới đây và chạy thử, bạn sẽ hiểu. #includeTrong lệnh SetConsoleTextAttribute(hConsoleColor, k); thì k có nghĩa là tham số màu, có thể chọn từ 0 -> 255. Nếu quá 255 nó sẽ tự quay lại 0 theo chu kỳ, tức là 256 thì màu sẽ giống như 0. Ngoài ra, còn có một cách đơn giản hơn, các bạn có thể sử dụng hàm system(“color X”);
Để viết chữ có màu trong Dev-C++ bạn chỉ cần sử dụng lệnh system(“color xy”); Với x là màu nền, y là màu chữ:
Tuy nhiên cách trên lại mắc một lỗi là nếu đặt màu khác thì toàn bộ chữ sẽ có màu đó, tức là các chữ có màu mà màu cuối cùng chúng ta đặt. Để khắc phục nó mình đã tìm hiểu và biết được hàm sau (sử dụng thư viện windows.h) trên congdongcviet.com void SetTeColor(WORD color) { HANDLE hConsoleOutput; hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO screen_buffer_info; GetConsoleScreenBufferInfo(hConsoleOutput, &screen_buffer_info); WORD wAttributes = screen_buffer_info.wAttributes; color &= 0x000f; wAttributes &= 0xfff0; wAttributes |= color; SetConsoleTextAttribute(hConsoleOutput, wAttributes); }Đọc xong cũng không hiểu gì, nhưng làm thì nó ổn, màu của các chữ cố định như mình mong muốn.
Chắc hẳn, khi mới bắt đầu vào ngành công nghệ thông tin, chúng ta đều đã quen thuộc với cái giao diện Console màn đen chữ trắng đến phát chán. Trong bài viết này, mình sẽ đưa ra 1 hàm sẽ giúp màn hình Console trở nên sinh động hơn bằng cách thay đổi màu chữ hiển thị trên Console. Nhưng trước tiên, chúng ta hãy tìm hiểu về bảng màu mà Console có thể thay đổi:
Chúng ta có thể xem bảng màu này bằng cách bật CMD và gõ color [ký tự bất kỳ - ngoại trừ số] Để đổi màu CMD ta gõ như sau: Giờ hãy bắt đầu với cách đơn giản nhất:int system(const char *command);
Đây là ví dụ: Tuy nhiên, cách này có 1 nhược điểm đó là khi ta gọi hàm này thì toàn bộ chữ trên console sẽ bị thay đổi. Ví dụ: ban đầu có console chữ màu trắng ( mặc định ), khi gọi hàm system(“color 4”) thì toàn bộ chữ sẽ đổi sang màu đỏ, sau đó tiếp tục gọi hàm system(“color 6”) thì toàn bộ chữ sẽ lại đổi sang màu vàng. Cách đổi màu thứ 2:Đây là cách mình hay dùng nhất, còn lý do vì sao thì các bạn xem tiếp sẽ rõ Với cách thứ 2 này, chúng ta có thể đổi màu 1 cách linh động, thay đổi được màu của từng vùng chữ cụ thể chứ không phải thay đổi màu toàn bộ chữ như cách 1. void SET_COLOR(int color) { WORD wColor; HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO csbi; if(GetConsoleScreenBufferInfo(hStdOut, &csbi)) { wColor = (csbi.wAttributes & 0xF0) + (color & 0x0F); SetConsoleTextAttribute(hStdOut, wColor); } }
Như vậy là mình đã trình bày xong những cách để có thể đổi Console trong lập trình C/C++. Cảm ơn các bạn đã xem qua bài viết này. Hãy để lại bình luận góp ý cho mình nhé! Hits: 270 |