我正在制作一个类似地牢游戏,为了确保我的游戏正确显示,我希望在运行时更改控制台字体和字体大小。我对编程和c#非常陌生,因此我希望以一种我或其他人可以轻松实现的方式进行解释。这个资源列出了CONSOLE_FONT_INFOEX结构的完整语法。
typedef struct _CONSOLE_FONT_INFOEX {
ULONG cbSize;
DWORD nFont;
COORD dwFontSize;
UINT FontFamily;
UINT FontWeight;
WCHAR FaceName[LF_FACESIZE];
} CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX;
我想在运行时将控制台字体更改为NSimSum,并将字体大小更改为32。
编辑1:请说明如何使用SetCurrentConsoleFontEx function函数,来自this帖子。我不明白函数需要处于什么上下文中。我尝试了Console.SetCurrentConsoleFontEx
,但vs没有给我任何选项。
编辑2:this论坛帖子似乎详细介绍了一种简单的更改字体大小的方法,但它是否特定于c ++?
void setFontSize(int FontSize)
{
CONSOLE_FONT_INFOEX info = {0};
info.cbSize = sizeof(info);
info.dwFontSize.Y = FontSize; // leave X as zero
info.FontWeight = FW_NORMAL;
wcscpy(info.FaceName, L"Lucida Console");
SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), NULL, &info);
}