gpt4 book ai didi

wxwidgets - wxGrid在右侧显示大的空白边框

转载 作者:行者123 更新时间:2023-12-02 04:05:22 25 4
gpt4 key购买 nike

默认情况下,wxGrid在最后一列之后的右侧显示一个小的(10像素?)空白边框。调用SetMargins()对此无效。

这很烦人,但我可以忍受。

但是,如果将行标签宽度设置为零,则空白边框会变得更大。如果我只有一列,那么效果是可怕的。看起来wxGrid正在为不存在的标签留出空间。

myPatGrid = new wxGrid(panel,IDC_PatGrid,wxPoint(10,10),wxSize(150,300) );
myPatGrid->SetRowLabelSize(0);
myPatGrid->CreateGrid(200,1);
myPatGrid->SetColLabelValue(0,L"Patient IDs");

有没有办法删除此边框?

请注意,如果我在wxGrid构造函数中将wxgrid窗口的尺寸设置得更窄,希望隐藏边框,那么我现在得到的水平滚动条也很糟糕。
myPatGrid = new wxGrid(panel,IDC_PatGrid,wxPoint(10,10),wxSize(100,300) );
myPatGrid->SetRowLabelSize(0);
myPatGrid->CreateGrid(200,1);
myPatGrid->SetColLabelValue(0,L"Patient IDs");

给我

我刚刚升级到wxWidgets v2.8.12-问题仍然存在。

最佳答案

我没有找到“自动调整大小”功能来适合网格空间中的列。
解决方法是,如果只有一列,则将其宽度设置为

myPatGrid->SetColMinimalWidth(0, grid_width - wxSYS_VSCROLL_X - 10)

否则,求和另一列的宽度,然后调整最后一列的宽度以适合剩余空间(减去滚动条宽度,减去10)。

编辑:我有一个有效的示例,它产生以下结果:
int gridSize = 150;
int minSize = gridSize - wxSYS_VSCROLL_X - 2; // scrollbar appear if higher
grid->SetRowLabelSize(0);
grid->SetColMinimalWidth(0, minSize);
grid->SetColSize(0, minSize); // needed, otherwise column will not resize
grid->ForceRefresh();
grid->SetColLabelValue(0, "COORD");

EDIT2 :我成功删除了剩余的边距:
int gridSize = 150;
int minSize = gridSize - 16; // trial & error
grid->SetMargins(0 - wxSYS_VSCROLL_X, 0);

关于wxwidgets - wxGrid在右侧显示大的空白边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7946778/

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