在调整大小时,在UI中重新排序按钮

时间:2011-09-21 20:42:33

标签: visual-c++ user-interface wxwidgets

我正在使用wxWidgets开发UI。我正在使用Visual Studio 2010 C ++ Express。

我的UI由7个垂直网格和1个水平网格组成,其中包含7个。在这7个网格中的每个网格中,我有2个或3个位图按钮,这些按钮根据彼此和相邻网格边界相对排序。我将主水平网格设置为面板的sizer。

我希望这7个网格总是发生在我面板的“中间”;这意味着:每次调整尺寸时,都应重新计算坐标,按钮应移动到新计算的位置。

是否可以使用wxWidgets进行此大小调整?我检查了文档和示例,但我找不到一个简单的例子来解决我的问题。

感谢。

1 个答案:

答案 0 :(得分:0)

编写一个resize事件处理程序,重新计算按钮的位置并将它们移动到新位置。

void myWindow::OnResize( wxSizeEvent& event )
{
    wxSize sz = event.GetSize();
    // calculate new positions
    ...
    // move buttons to new locations
    myButton->Move( x, y )'
}