gpt4 book ai didi

c++ - 我想更改 Cmd 字体样式

转载 作者:太空狗 更新时间:2023-10-29 23:01:06 25 4
gpt4 key购买 nike

我想用 C - 编码更改 Cmd 字体。

但是我不知道怎么改。

我想更改基本字体 -> 终端字体。

这是我的代码

CONSOLE_FONT_INFOEX cfi;
cfi.cbSize = sizeof cfi;
cfi.nFont = 0;
cfi.dwFontSize.X = 0;
cfi.dwFontSize.Y = 16;
cfi.FontFamily = FF_DONTCARE;
cfi.FontWeight = FW_NORMAL;
wcscpy_s(cfi.FaceName,9, L"Terminal");
SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi);

我的开发环境是 Windows 10。

最佳答案

SetCurrentConsoleFontEx() 函数的问题在于字体的宽度不是可选的。您必须使用与 Y 大小一致并受所选字体支持的值。

对于 Terminal,以下应该有效:

cfi.dwFontSize.X = 12;
cfi.dwFontSize.Y = 16;

如果要检查可用的字体大小,可以枚举字体。例如,使用这个小代码:

// callback to display some infos about one font 
int CALLBACK logfont(_In_ const LOGFONT *lplf,
_In_ const TEXTMETRIC *lptm,
_In_ DWORD dwType,
_In_ LPARAM lpData
)
{
wcout << L"Font " << (wchar_t*)lplf->lfFaceName << L" " << lplf->lfHeight<<L" "<<lplf->lfWidth <<endl;
return 1;
}

// this callback is then used in a statement like:
EnumFonts(GetDC((HWND)GetStdHandle(STD_OUTPUT_HANDLE)),L"Terminal", logfont, NULL);

有关已安装字体的更多深入信息,this MSDN您可能会对这篇文章感兴趣。

关于c++ - 我想更改 Cmd 字体样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31903547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com