VS2015控制檯中獲取和修改當前字型大小(2-2)
2.2 GetConsoleFontSize()函式
GetConsoleFontSize()函式的作用是獲取指定控制檯輸出視窗字型的尺寸。
2.2.1 函式介紹
GetConsoleFontSize()函式的格式為
COORD WINAPI GetConsoleFontSize(
HANDLE hConsoleOutput
,DWORD nFont
);
其中,hConsoleOutput是控制檯輸出視窗的控制程式碼;nFont是指定的要獲取的字型在系統控制檯字型表中的索引,可以通過“2.1 GetCurrentConsoleFont()函式”中提到的GetCurrentConsoleFont()函式獲取。
2.2.2 相關程式碼
通過GetCurrentConsoleFont()函式獲取控制檯當前字型大小的程式碼如下所示。
COORD currentFontCoord = GetConsoleFontSize(hOutput, consoleCurrentFont.nFont);
printf("通過GetConsoleFontSize()函式獲取控制檯當前字型長度是%d, 高度是%d.\n", currentFontCoord.X, currentFontCoord.Y);
其中,hOutput是“2.1.3 相關程式碼”中通過GetStdHandle()函式獲取到的控制檯輸出視窗控制程式碼。輸出的效果如圖2所示。
圖2 通過GetConsoleFontSize()函式獲取到的字型資訊
3 設定當前字型大小
通過SetCurrentConsoleFont()函式設定當前字型大小。
3.1 函式介紹
SetCurrentConsoleFont()函式的作用是設定當前控制檯字型的擴充套件資訊。該函式的格式是
BOOL WINAPI SetCurrentConsoleFontEx(
HANDLE hConsoleOutput
,BOOL bMaximumWindow
,PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx
);
其中,引數hConsoleOutput和bMaximumWindow與GetCurrentConsoleFont()函式引數含義相同;lpConsoleCurrentFontEx是CONSOLE_FONT_INFOEX結構物件的指標。
3.2 CONSOLE_FONT_INFOEX結構
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;
其中,cbSize是結構的大小,以位元組為單位,該成員變數必須設定為sizeof(CONSOLE_FONT_INFOEX);nFont是要設定的字型在控制檯字型表中的索引;dwFontSize是COORD結構的物件,指定了字型的尺寸;FontFamily指定了字型的間距(pitch)和族(family);FontWeight指定了字型的重量,該值的取值範圍是100-1000,正常字型的重量是400,加粗的字型重量是700;FaceName指定了使用何種字型。
3.3 相關程式碼
使用SetCurrentConsoleFont()函式設定當前字型大小程式碼如下所示。
CONSOLE_FONT_INFOEX ConsoleCurrentFontEx;
ConsoleCurrentFontEx.cbSize = sizeof(CONSOLE_FONT_INFOEX);
ConsoleCurrentFontEx.nFont = 0;
ConsoleCurrentFontEx.dwFontSize.X = 32;
ConsoleCurrentFontEx.dwFontSize.Y = 64;
ConsoleCurrentFontEx.FontFamily = TMPF_VECTOR;
ConsoleCurrentFontEx.FontWeight = 200;
wcscpy(ConsoleCurrentFontEx.FaceName, _T("Courier"));
SetCurrentConsoleFontEx(hOutput, FALSE, &ConsoleCurrentFontEx);
其中,TMPF_VECTOR表示使用向量字型;hOutput是通過GetStdHandle()函式獲取到的控制檯輸出視窗控制程式碼。輸出的效果如圖3所示。
圖3 通過SetCurrentConsoleFont()函式設定了字型尺寸
相關文章
- Flutter 小知識,Key的使用(獲取當前點選Widget位置/獲取當前Widget大小)Flutter
- php 獲取當前域名和當前協議PHP協議
- Android中TabLayout修改字型大小AndroidTabLayout
- 獲取當前修改的行記錄資料
- iOS獲取當前控制器的正確方式iOS
- JavaScript 獲取當前月份JavaScript
- 獲取當前時間
- 如何用js獲取當前時間和ip地址以及當前城市JS
- mybatis獲取當前時間MyBatis
- 獲取當前頁面的topViewControllerViewController
- Java獲取當前星期幾Java
- .NET控制檯獲取依賴注入例項依賴注入
- Spring tool suite修改字型大小SpringUI
- TP6 多應用模式下獲取不到當前控制器和方法名模式
- python 如何獲取當前時間Python
- PHP中獲取當前頁面的各種URL格式PHP
- Flutter獲取當前網路型別Flutter型別
- Linux C獲取當前工作目錄Linux
- Spark獲取當前分割槽的partitionIdSpark
- 獲取當前Tomcat例項的埠Tomcat
- 微信小程式獲取當前位置微信小程式
- Java如何獲取當前執行緒Java執行緒
- 獲取當前時間往前的日期
- 獲取當前元素在兄弟元素節點中的索引索引
- 小程式獲取當前元素在螢幕中的位置
- 獲取系統字型,獲取系統預設字型
- Pypycharm修改程式碼字型大小及修改顏色PyCharm
- 《Qt5+QDate和QTime獲取當前系統日期和時間》QT
- Cocos2d-x 中獲取動畫當前幀數動畫
- 讀取控制檯輸入
- 直播app原始碼,uniapp獲取當前位置APP原始碼
- C# 獲取當前伺服器域名C#伺服器
- 如何用Java獲取當前時間戳?Java時間戳
- python怎麼獲取當前是幾點?Python
- js獲取當前的具體時間JS
- react獲取當前頁面的url引數React
- 用js獲取當前月份的天數JS
- Idea怎麼使用滑鼠控制字型大小?Idea