在对话框 (wxDialog) 中拟合大网格 (wxGrid)
Fitting a big grid (wxGrid) in a dialog (wxDialog)
这是我的布局:
-
我有一个尺寸器,其中包含一个网格(比例为 1)和一个确定/取消按钮栏
-
所有的事情都在 wxDialog 中
在这里:
|||||||||||||||
| |
| GRID |
| |
| |
| |
|||||||||||||||
| OK CANCEL |
|||||||||||||||
问题是网格包含太多行,并且溢出屏幕,所以最后我看不到对话框的顶部。在对话框上调用 Fit() 时,有没有办法限制其高度?
我尝试过这样的东西:SetSizeHints(-1,-1,-1,500);
和SetMaxSize(500,500)
但没有奏效。
我也尝试这样做:this->SetSize(this->GetSize().GetX(), 500);
,但由于垂直滚动条出现在网格上,它不够宽,并且显示水平滚动条。
编辑
在构造函数中,我调用wxGrid(parent, wxID_ANY, wxDefaultPosition, 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 ));
}
相关文章:
- 使用对象文件读取三角形数据网格
- 如何从 Skia 路径几何体中获取网格?
- CGAL:如何创建填充边界曲线的曲面网格?
- 检查 2D 网格的某个元素是否与另一个元素共享对角线、水平线或垂直线
- 创建具有两个视口的Qt3D C++场景,其中显示适当的不同网格
- 如何从 3D 曲面网格中删除自相交三角形?
- 在均匀网格中处理碰撞
- 更改高度贴图,使其在 4x4 网格上显示 16 个 hieghtmap
- 用于查找网格中最短路径的算法
- 循环通过网格获取温度,但不知道如何告诉程序停止循环
- 使用 glvertex4i 传递网格面索引时的顶点着色器错误
- 如何使用 sdl2 快速绘制像素网格?
- 如何使用条件计算 3D 网格中从一个点到另一个点的所有路径
- 使用 MFC 的表/网格
- 是否可以制作没有内部分割的cgal 3d多多马因网格?
- 获取网格中心的屏幕位置
- ASIMP 模型加载不会加载所有网格
- C++中的多维数据集:从 std::vector 的 2D 数据到 std::vector 的 2D 网格的最干净方法?
- 如何从C++而不是虚幻编辑器中添加静态网格体组件的值?
- 在对话框 (wxDialog) 中拟合大网格 (wxGrid)