2010-02-06 50 views
1

我正在尝试用我的手在C++中抛出一个较小的roguelike,但我遇到了一个问题 - 为了让游戏正确显示,控制台窗口必须有点宽(大约45行, 115列)。通过右键单击菜单栏并为具有相同名称的Windows设置默认值很容易,但是有没有办法可以从代码中自动设置它,所以我不必要求潜在用户惹恼?我使用Pdcurses处理输出,如果有帮助的话。有没有办法强制控制台应用程序以特定的窗口大小运行(使用Pdcurses)?

回答

1

IIRC,这可以在启动游戏的快捷方式中设置,但它不是文本,我不知道用哪个库或Windows API修改它。这可能比尝试使用pdcurses更简单。

但是,别忘了Windows有几个控制台API。从MSDN中的AllocConsole开始获取概览信息,或直接跳至SetConsoleWindowInfo

1

这是一个非常古老的问题,但无论如何,我会发表我的答案的情况下,它可以帮助别人的未来。 这是我在MS Windows中使用:

int err = system("mode con lines=45 cols=115"); 

我我直接调用initscr();前使用此功能,它就像一个魅力。 这显然不是非常便携的,但是如果你正在开发的是Windows,它就会诀窍。

0
/* Resize the terminal to something larger than the physical screen */ 
    resize_term(2000, 2000); 

    /* Get the largest physical screen dimensions */ 
    getmaxyx(_window, _rows, _cols); 

    /* Resize so it fits */ 
    resize_term(_rows - 1, _cols - 1); 

    /* Get the screen dimensions that fit */ 
    getmaxyx(_window, _rows, _cols); 
相关问题