在 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++ 程序上调整宽度的主要内容,如果未能解决你的问题,请参考以下文章
自定义 UITableViewCell 宽度在 tableview reloadData 上调整大小