【问题标题】:cpp win7 console without scrollbarscpp win7控制台没有滚动条
【发布时间】:2012-10-09 15:33:08
【问题描述】:

我想从我的控制台中删除滚动条(就像在edit-command 中一样),因为我想制作一个类似 qbasic 的程序。我知道这里是a thread,但它在 windows 7 32bit 中对我不起作用。上面写着您只需使控制台屏幕缓冲区的大小与控制台窗口的大小相同。
这不起作用:

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 或更小,滚动条仍然存在。

【问题讨论】:

    标签: c++ console scrollbar qbasic


    【解决方案1】:

    问题是srWindow 中包含的大小信息是针对屏幕缓冲区而不是实际窗口的。您想使用dwMaximumWindowSize 指定窗口的列和行大小。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-07
      • 2014-10-15
      • 2018-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多