2012-10-09 43 views
0

我想從我的控制檯中刪除滾動條(如edit -command),因爲我想製作一個類似qbasic的程序。我知道這裏是a thread,但它不適用於我的windows 7 32bit。有文章寫道,您只需使控制檯屏幕緩衝區與控制檯窗口的大小相同即可。
這不工作:cpp win7控制檯沒有滾動條

HANDLE hstdout = GetStdHandle(STD_OUTPUT_HANDLE); 
CONSOLE_SCREEN_BUFFER_INFO csbi; 
GetConsoleScreenBufferInfo(hstdout, &csbi); 

csbi.dwSize.X = csbi.srWindow.Right; 
csbi.dwSize.Y = csbi.srWindow.Bottom; 
SetConsoleScreenBufferSize(hstdout, csbi.dwSize); 

即使我設置csbi.dwSize.XY到10或更小,滾動條的存在。

回答

1

問題是包含在srWindow中的大小信息是針對屏幕緩衝區而不是實際的窗口。您想要使用dwMaximumWindowSize,它在列和行中指定窗口的大小。

csbi.dwSize.X = csbi.dwMaximumWindowSize.X; 
csbi.dwSize.Y = csbi.dwMaximumWindowSize.Y;