在 C++ 程序上调整宽度

Posted

技术标签:

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

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

谢谢

【问题讨论】:

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

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

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

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

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

【讨论】:

@akageek:然后发布导致错误的代码并发布错误。 Erik 帮我解答了他的问题。我没有时间向你证明我到现在为止做了什么。 我没有 15 个声望来投票。我找到了解决方案。不要那么消极。

以上是关于在 C++ 程序上调整宽度的主要内容,如果未能解决你的问题,请参考以下文章

根据设备调整按钮宽度和高度

win10软件窗口不能调整宽度?

如何在 iOS 设备上调整图像大小?

自定义 UITableViewCell 宽度在 tableview reloadData 上调整大小

word中操作,调整页面的高度和宽度,是否就是指 调整纸张大小?

调整 UILabel 以对齐屏幕右侧