【发布时间】:2016-05-24 18:33:31
【问题描述】:
如何在 Windows 上的控制台应用程序中更改字体大小?最简单的方法?
使用system("") 和 windows.h 更改控制台颜色有什么区别?
【问题讨论】:
标签: c++ winapi console font-size
如何在 Windows 上的控制台应用程序中更改字体大小?最简单的方法?
使用system("") 和 windows.h 更改控制台颜色有什么区别?
【问题讨论】:
标签: c++ winapi console font-size
您可以使用SetCurrentConsoleFontEx 更改字体大小。
下面是一个小示例,您可以随意使用,确保您使用#include <cwchar> 和#include <windows.h>
CONSOLE_FONT_INFOEX cfi;
cfi.cbSize = sizeof(cfi);
cfi.nFont = 0;
cfi.dwFontSize.X = 0; // Width of each character in the font
cfi.dwFontSize.Y = 24; // Height
cfi.FontFamily = FF_DONTCARE;
cfi.FontWeight = FW_NORMAL;
std::wcscpy(cfi.FaceName, L"Consolas"); // Choose your font
SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi);
std::cout << "Font: Consolas, Size: 24\n";
如果您选择Arial 或其他,您可能需要给它一个字体大小宽度。更多information.
system() 调用和使用Windows.h 的区别在于system() 调用资源繁重且不安全。更多资讯here.
【讨论】:
SetCurrentConsoleFontEx 需要 Vista 或更高版本 (_WIN32_WINNT >= 0x0500)。此外,文档还不清楚cfi.nFont = 0; 的工作原理(“nFont = 系统控制台字体表中的字体索引。”)。