首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDCurses getmaxxy函数总是返回相同的值。

PDCurses getmaxxy函数总是返回相同的值。
EN

Stack Overflow用户
提问于 2016-05-27 18:00:54
回答 2查看 316关注 0票数 1

环境:

  • PDCurses最新版本
  • Windows 10
  • Visual Studio 2015更新2

问题

PDCurses提供了一个函数getmaxxy来获得屏幕的最大x和y坐标。这将在启动时返回正确的值,但如果我用鼠标调整窗口大小,然后再次调用getmaxxy,则会得到相同的值。

这是bug中的错误/限制吗?是否有一种特定于windows的方法来获取这些信息?

我也尝试过这个特定于windows的解决方案,而且它也总是返回启动值:窗口的终端尺寸是c吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-28 00:46:28

阅读消息来源,

  • 仅在创建窗口(包括复制窗口)时才设置_maxx_maxy成员的WINDOW
  • stdscr是一个窗口

如果您调整了屏幕的大小,那么您应该使用PDCurses (一个来自ncurses的函数)告诉resize_term新的大小,例如,

代码语言:javascript
复制
resize_term(new_lines, new_cols);

并重新创建标准窗口,如stdscr

值得注意的是,PDCurses提供了这些函数以与ncurses兼容:

  • 版本
  • is_termresized (应该是调整尺寸)
  • 术语
  • 花圈
票数 2
EN

Stack Overflow用户

发布于 2016-05-28 04:08:09

只需检查是否有KEY_RESIZE,如果发生,就调用resize_term(0, 0)。您可以在演示中看到这方面的几个例子(在testcurs、下雨和蠕虫中)。如果不检查键盘输入,可以使用is_termresized()

resize_term()实际上是两个不同的函数--以零作为参数,它响应用户发起的大小调整;对于非零,它试图将窗口实际调整到给定的大小。通常,在给定的平台上只有一种或另一种功能(或两者都不可用)。SDL允许两者都可以。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37489736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档