C语言节制台窗口图形界面编程之二 用于节制台窗口操纵的API函数
下面先容几个用于节制台窗口操纵的API函数,如下:
//获取节制台窗口信息 GetConsoleScreenBufferInfo(); //获取节制台窗口标题 GetConsoleTitle(); //变动指定缓冲区巨细 SetConsoleScreenBufferSize(); //配置节制台窗口标题 SetConsoleTitle(); //配置节制台窗口信息 SetConsoleWindowInfo();
下面的示例措施用于说明此类函数的利用:
#include <stdio.h> #include <stdlib.h> #include <Windows.h> #include <conio.h> #define N 255 int main() { HANDLE handle_out; //界说一个句柄 CONSOLE_SCREEN_BUFFER_INFO scbi; //界说一个窗口缓冲区信息布局体 COORD size = {80, 25}; //界说一个坐标布局体 char strtitle[N]; handle_out = GetStdHandle(STD_OUTPUT_HANDLE); //得到尺度输出设备句柄 GetConsoleScreenBufferInfo(handle_out, &scbi); //得到窗口缓冲区信息 GetConsoleTitle(strtitle, N); //获恰当前窗口标题 printf("当前窗口标题为:%s\n", strtitle); _getch(); SetConsoleTitle("节制台窗口操纵"); //配置窗口标题为“节制台窗口操纵” GetConsoleTitle(strtitle, N); //获恰当前窗口标题 printf("当前窗口标题为:%s\n", strtitle); _getch(); SetConsoleScreenBufferSize(handle_out, size); // 从头配置缓冲区巨细 _getch(); SMALL_RECT rc = {0, 0, 80-1, 25-1}; // 重置窗口位置和巨细 SetConsoleWindowInfo(handle_out, 1, &rc); CloseHandle(handle_out); //封锁尺度输出设备句柄 return 0; }
个中,SetConsoleScreenBufferSize函数指定新的节制台屏幕缓冲区的巨细,以字符列和行为单元。指定的宽度和高度不能小于节制台屏幕缓冲区窗口的宽度和高度。指定的巨细也不能小于系统答允的最小巨细。这个最低取决于节制台当前的字体巨细 (由用户选定)。
别的,GetConsoleTitle函数的详细实现取是否宏界说了UNICODE(与文件编码形式有关),所以在部门IDE中大概这段示例编译不通过,换一个此外编译器或IDE就行了。本样例在Code::Blocks 13.12编译通过。
From:cnblogs 龙梦之痕
本栏目