2014-01-20 388 views
9

每当我从Visual Studio 2013构建并运行我的C++代码时,控制台窗口宽度都是不可调整的,并因此导致我的输出被推迟到下一行我想要。如何在Visual Studio中设置输出控制台宽度

如何获得Visual Studio使控制台窗口宽度更大?

如果我需要在我的应用程序中插入代码来做到这一点,是否有一种方法可以进行编译时检查,以便在不编译Windows时删除代码?我试图使代码尽可能便携。

+2

无法你右键单击窗口的标题栏并使用编辑菜单设置大小?即使重建了应用程序,它也应该保留这一点。 – drescherjm

+1

啊。这工作!出于便携性的原因,我认为这是最好的解决方案。谢谢! :) – Michael

回答

7
  1. 使用Console::SetWindowSize()方法(在.NET框架下)。

    您可以参考here的文档和代码示例。

  2. 或者你可以使用MoveWindow()方法(你也可以移动窗口):

    #include <windows.h> 
    using namespace std; 
    int main (void) 
    { 
        HWND console = GetConsoleWindow(); 
        RECT r; 
        GetWindowRect(console, &r); //stores the console's current dimensions 
    
        MoveWindow(console, r.left, r.top, 800, 100, TRUE); // 800 width, 100 height 
    
        // ... 
    } 
    

    了解更多信息退房here


如果你真的想使你的代码尽可能实现可移植性,也许你应该手动运行cmd提示设置。点击顶部的图标。选择defaults。输入你想要的设置。我经常使用控制台应用程序我从Visual Studio并不需要更改代码调试

+0

什么#包括我需要的工作?我怎样才能在编写GCC代码时不会编译? (如通过宏或什么?) – Michael

+0

@Michael或者简单地说,你可以按照drescherjm的建议在编辑菜单下改变它。 – herohuyongtao

+0

@Michael查看更新。你只需要'#include '使它适用于第二种方法。 – herohuyongtao

11

一种解决方案是做到以下几点:

  1. 右键单击您正在运行的控制台应用程序
  2. 选择的标题栏属性
  3. 选择布局
  4. 然后设置窗口大小。

关闭对话框后,窗口应保存设置或提示您保存,具体取决于您的Windows版本。我相信Windows 8或更新版本在Windows 7或更低版​​本提示时不会提示。

1

你可以简单地使用:

Console.WindowWidth = Console.LargestWindowWidth - [insert number of pixels from the end of the screen] 
Console.WindowHeight = Console.LargestWindowHeight - [insert number of pixels from the end of the screen] 

如果我想设置控制台窗口是从屏幕的边缘15个像素,我这样做:

Console.WindowWidth = Console.LargestWindowWidth - 15 
+0

请注意,“LargestWindowHeight”和“LargestWindowWidth”实际上是控制台窗口可以支持的行数和列数,而不是像素数。因此减去15实际上减去15列空间,而不是15个像素。只是分享给未来任何人的绊脚石。 –

相关问题