控制台缓冲区和窗口之间什么关系?
各位大虾,有没有知道控制台缓冲区和窗口之间到底什么关系?有如下程序段:
#include<iostream>
#include<windows.h>
using namespace std;
#define ScrBufW 160 // 控制台缓冲区的宽(左右)度
#define ScrBufL 50 // 控制台缓冲区的长(上下)度
HANDLE hOut; // 输出设备句柄
void main()
{
hOut = GetStdHandle (STD_OUTPUT_HANDLE);
InitConsole ();
……
}
bool InitConsole ()
{
COORD BufSize = {ScrBufW,ScrBufL};
SMALL_RECT ScrWinS = {0,0,ScrBufW - 1,ScrBufL - 1};
if(SetConsoleScreenBufferSize (hOut,BufSize)
&&SetConsoleWindowInfo (hOut , TRUE , &ScrWinS);)
return TRUE;
else
return FALSE;
}//InitConsole
按理说窗口大小和缓冲区大小就一样的,控制台就没有滚动条啊。但实际上,窗口并没有变化啊。
怎么回事?
小弟先谢了……