gpt4 book ai didi

c++ - 在对话框 (wxDialog) 中安装一个大网格 (wxGrid)

转载 作者:行者123 更新时间:2023-11-28 03:49:22 27 4
gpt4 key购买 nike

这是我的布局:

  • 我有一个包含网格(比例为 1)和确定/取消按钮栏的 sizer

  • 所有的东西都在一个 wxDialog 中

这里是:

|||||||||||||||
| |
| GRID |
| |
| |
| |
|||||||||||||||
| OK CANCEL |
|||||||||||||||

问题是网格包含的行太多,溢出屏幕,所以最后我看不到对话框的顶部。有没有办法在对话框上调用 Fit() 时限制其高度?

我试过这样的东西:SetSizeHints(-1,-1,-1,500);SetMaxSize(500,500) 但它没有用。

我也尝试这样做:this->SetSize(this->GetSize().GetX(), 500);,但是由于垂直滚动条出现在网格上,它不够宽,会出现水平滚动条。

编辑

在构造函数中我调用了wxGrid(parent, wxID_ANY, wx​​DefaultPosition, wxDefaultSize)

最佳答案

处理此问题的最简单方法是使用固定大小的网格。如果行数多于适合的行数,则会出现滚动条。您可以在构造函数中设置所需的大小。

new wxGrid( this, IDC_grid, wxPoint(-1,-1),wxSize(igridxsize,igridysize));

如果你想调整网格的大小,例如当用户调整应用程序窗口大小时,事情就有点复杂了。您需要处理窗口大小事件并适当更改网格大小。

沿着这些线的东西:

myDialog::OnSize(wxSizeEvent& event);
{
wxSize dialogSize = event.GetSize();
myGrid->OnSize( wxSizeEvent(
dialogSize.GetWidth() * 0.9, dialogSize.GetHeight() * 0.7 ));
}

关于c++ - 在对话框 (wxDialog) 中安装一个大网格 (wxGrid),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6070430/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com