【问题标题】:adjust width on c++ program在 C++ 程序上调整宽度
【发布时间】:2011-08-01 07:45:45
【问题描述】:

如何在 c++ 程序的窗口上调整宽度,以便当用户运行程序时,它会自动处于所需的宽度。

谢谢

【问题讨论】:

  • 您的问题缺少很多细节。操作系统? GUI 库?
  • 您需要添加更多详细信息。您使用的是哪个平台?您正在使用哪个库进行 GUI 开发等。C++ 本身没有任何窗口的概念。
  • 窗口处理不是 C++ 标准的一部分,因此您必须提供有关您正在使用的库/工具包的更多信息。
  • 这取决于您使用的 GUI。是windows应用吗? Linux/Unix?苹果?等等。每个系统也有不同的框架 - Mac 使用 Cocoa、Windows MFC、GTK、QT 等。所以更具体地得到正确的答案;-)
  • 我用的是windows。我已经做了应用但是我不能调整宽度

标签: c++ size width


【解决方案1】:

这会调整 Windows 上的控制台。

COORD s = { 120, 2000 };
SMALL_RECT sr = { 0, 0, 119, 49 };
CONSOLE_SCREEN_BUFFER_INFO sbi = { 0 };
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &sbi);
SetConsoleScreenBufferSize(GetStdHandle(STD_OUTPUT_HANDLE), s);
if ( (sbi.srWindow.Right - sbi.srWindow.Left) != (sr.Right - sr.Left) ) {
    SetConsoleWindowInfo(GetStdHandle(STD_OUTPUT_HANDLE), TRUE, &sr);
}

【讨论】:

    【解决方案2】:

    如果你的应用是针对Win32平台的,使用了对CreateWindow的调用,可以通过修改第六个参数http://msdn.microsoft.com/en-us/library/ms632679(v=vs.85).aspx来调整

    【讨论】:

    • 这是一个控制台应用程序。我没有用户创建窗口
    【解决方案3】:

    您的问题引发了更多问题,但如果您能回答以下问题,您可能离目标更近了几步:

    1. 您使用的是什么窗口系统?与哪个 C++ 编译器结合使用?
    2. 您对“理想宽度”的定义是什么?适合谁?

    现在,有了这些问题的答案,您应该能够在大约 10 分钟内搜索网络并找到参考资料和示例。然后尝试将问题二的答案插入到您的设计中。

    当您完成所有这些操作后仍然无法正常工作时,请返回此处提供更多详细信息和一些真实代码。

    【讨论】:

    • @akageek:然后发布导致错误的代码并发布错误。
    • Erik 帮我解答了他的问题。我没有时间向你证明我到现在为止做了什么。
    • 我没有 15 个声望来投票。我找到了解决方案。不要那么消极。
    猜你喜欢
    • 2018-06-22
    • 2011-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多