C编程中如何改变控制台中的字体大小
vc6.0中如何改变控制台中的字体大小,能不能用system函数调,我知道system可以调字体颜色,还有控制台窗口大小,但是就是调不了字体大小,高手请指教!最好有详细的...
vc6.0中如何改变控制台中的字体大小,能不能用system函数调,我知道system可以调字体颜色,还有控制台窗口大小,但是就是调不了字体大小,高手请指教!最好有详细的解释。
展开
4个回答
2014-01-12
展开全部
这只能用API来实现了:
原作者:hi.baidu.com/console_app
测试环境:VC++ 6.0
控制台的字体大小是可以改变的。系统为我们提供了许多的API,能更改字体大小的API正隐身其中。网上没有控制台字体大小的相关资料,关于控制台字体大小的教程是本博客独家放出。本文将教会你如何使用这些API,达到修改控制台字体大小的目的。
一般控制台中每个输出缓冲区都有一个固定的字体。系统中的字体,每一种都有对应的序号,每种字体大小不同。想要修改为一种新的字体,就将这种字体的序号赋值给控制台缓冲区即可。一般来说,系统所有的字体总数不超过40个,因此循环获取信息时可以以这个为上限。
首先放出需要用到的API列表:
(如下大部分API都没有公布,至最近才公布了其中几个的详细信息)
bool SetConsoleFont(HANDLE,DWORD) //注意了,这个函数一旦调用,所有文字字体大小全部变化,窗口大小也变了。这个是用于设置字体大小第一个参数为输出句柄,第二个参数为新字体大小序号
bool GetConsoleFontInfo(HANDLE,BOOL,DWORD,CONSOLE_FONT*)这个是用于获取字体信息第一个参数为输出句柄,第二个参数应设为0,第三个参数为欲获取信息的字体序号,第四个参数为CONSOLE_FONT结构体的指针,API将返回的信息放置在这个结构体里
COORD GetConsoleFontSize(HANDLE,DWORD)这个是用于获取字体大小第一个参数为输出句柄,第二个参数为欲获取大小的字体序号,返回的COORD的两个成员就是字体的大小
DWORD GetNumberOfConsoleFonts()这个是用于获取可用字体数返回可用字体总数
bool GetCurrentConsoleFont(HANDLE,BOOL,CONSOLE_FONT*)这个是用于获取当前字体的信息第一个参数为输出句柄,第二个参数应设为0,第三个参数为CONSOLE_FONT结构体的指针,API将返回的信息放置在这个结构体里
结构体CONSOLE_FONT:
struct CONSOLE_FONT{ DWORD index; COORD dim;};
第一个成员是字体的序号,第二个成员是字体的大小
由于篇幅原因,不对每个API函数一一讨论,其参数类型所对应的意义参见其他文章。
首先,这是些未公布的API,所以需要动态载入,首先在全局声明:
struct CONSOLE_FONT{ DWORD index; COORD dim;};typedef BOOL (WINAPI *PROCSETCONSOLEFONT)(HANDLE, DWORD);typedef BOOL (WINAPI *PROCGETCONSOLEFONTINFO)(HANDLE,BOOL,DWORD,CONSOLE_FONT*);typedef COORD (WINAPI *PROCGETCONSOLEFONTSIZE)(HANDLE,DWORD);typedef DWORD (WINAPI *PROCGETNUMBEROFCONSOLEFONTS)();typedef BOOL (WINAPI *PROCGETCURRENTCONSOLEFONT)(HANDLE,BOOL,CONSOLE_FONT*);PROCSETCONSOLEFONT SetConsoleFont;PROCGETCONSOLEFONTINFO GetConsoleFontInfo;PROCGETCONSOLEFONTSIZE GetConsoleFontSize;PROCGETNUMBEROFCONSOLEFONTS GetNumberOfConsoleFonts;PROCGETCURRENTCONSOLEFONT GetCurrentConsoleFont;
然后在程序启动的时候进行载入:
HMODULE hKernel32 = GetModuleHandle("kernel32");SetConsoleFont = (PROCSETCONSOLEFONT)GetProcAddress(hKernel32,"SetConsoleFont");GetConsoleFontInfo = (PROCGETCONSOLEFONTINFO)GetProcAddress(hKernel32,"GetConsoleFontInfo");GetConsoleFontSize = (PROCGETCONSOLEFONTSIZE)GetProcAddress(hKernel32,"GetConsoleFontSize");GetNumberOfConsoleFonts = (PROCGETNUMBEROFCONSOLEFONTS)GetProcAddress(hKernel32,"GetNumberOfConsoleFonts");GetCurrentConsoleFont = (PROCGETCURRENTCONSOLEFONT)GetProcAddress(hKernel32,"GetCurrentConsoleFont");
载入完毕之后,就可以进行编程对字体大小控制了。
原作者:hi.baidu.com/console_app
测试环境:VC++ 6.0
控制台的字体大小是可以改变的。系统为我们提供了许多的API,能更改字体大小的API正隐身其中。网上没有控制台字体大小的相关资料,关于控制台字体大小的教程是本博客独家放出。本文将教会你如何使用这些API,达到修改控制台字体大小的目的。
一般控制台中每个输出缓冲区都有一个固定的字体。系统中的字体,每一种都有对应的序号,每种字体大小不同。想要修改为一种新的字体,就将这种字体的序号赋值给控制台缓冲区即可。一般来说,系统所有的字体总数不超过40个,因此循环获取信息时可以以这个为上限。
首先放出需要用到的API列表:
(如下大部分API都没有公布,至最近才公布了其中几个的详细信息)
bool SetConsoleFont(HANDLE,DWORD) //注意了,这个函数一旦调用,所有文字字体大小全部变化,窗口大小也变了。这个是用于设置字体大小第一个参数为输出句柄,第二个参数为新字体大小序号
bool GetConsoleFontInfo(HANDLE,BOOL,DWORD,CONSOLE_FONT*)这个是用于获取字体信息第一个参数为输出句柄,第二个参数应设为0,第三个参数为欲获取信息的字体序号,第四个参数为CONSOLE_FONT结构体的指针,API将返回的信息放置在这个结构体里
COORD GetConsoleFontSize(HANDLE,DWORD)这个是用于获取字体大小第一个参数为输出句柄,第二个参数为欲获取大小的字体序号,返回的COORD的两个成员就是字体的大小
DWORD GetNumberOfConsoleFonts()这个是用于获取可用字体数返回可用字体总数
bool GetCurrentConsoleFont(HANDLE,BOOL,CONSOLE_FONT*)这个是用于获取当前字体的信息第一个参数为输出句柄,第二个参数应设为0,第三个参数为CONSOLE_FONT结构体的指针,API将返回的信息放置在这个结构体里
结构体CONSOLE_FONT:
struct CONSOLE_FONT{ DWORD index; COORD dim;};
第一个成员是字体的序号,第二个成员是字体的大小
由于篇幅原因,不对每个API函数一一讨论,其参数类型所对应的意义参见其他文章。
首先,这是些未公布的API,所以需要动态载入,首先在全局声明:
struct CONSOLE_FONT{ DWORD index; COORD dim;};typedef BOOL (WINAPI *PROCSETCONSOLEFONT)(HANDLE, DWORD);typedef BOOL (WINAPI *PROCGETCONSOLEFONTINFO)(HANDLE,BOOL,DWORD,CONSOLE_FONT*);typedef COORD (WINAPI *PROCGETCONSOLEFONTSIZE)(HANDLE,DWORD);typedef DWORD (WINAPI *PROCGETNUMBEROFCONSOLEFONTS)();typedef BOOL (WINAPI *PROCGETCURRENTCONSOLEFONT)(HANDLE,BOOL,CONSOLE_FONT*);PROCSETCONSOLEFONT SetConsoleFont;PROCGETCONSOLEFONTINFO GetConsoleFontInfo;PROCGETCONSOLEFONTSIZE GetConsoleFontSize;PROCGETNUMBEROFCONSOLEFONTS GetNumberOfConsoleFonts;PROCGETCURRENTCONSOLEFONT GetCurrentConsoleFont;
然后在程序启动的时候进行载入:
HMODULE hKernel32 = GetModuleHandle("kernel32");SetConsoleFont = (PROCSETCONSOLEFONT)GetProcAddress(hKernel32,"SetConsoleFont");GetConsoleFontInfo = (PROCGETCONSOLEFONTINFO)GetProcAddress(hKernel32,"GetConsoleFontInfo");GetConsoleFontSize = (PROCGETCONSOLEFONTSIZE)GetProcAddress(hKernel32,"GetConsoleFontSize");GetNumberOfConsoleFonts = (PROCGETNUMBEROFCONSOLEFONTS)GetProcAddress(hKernel32,"GetNumberOfConsoleFonts");GetCurrentConsoleFont = (PROCGETCURRENTCONSOLEFONT)GetProcAddress(hKernel32,"GetCurrentConsoleFont");
载入完毕之后,就可以进行编程对字体大小控制了。
展开全部
用UltraEdit,你能满足您的要求!语法突出显示功能!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在黑框的最上面空白白色栏处,右键鼠标
点击 属性
里面就可以调节字体大小了
点击 属性
里面就可以调节字体大小了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从你的studio里面的那个window里面可以配置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询