【问题标题】:Reordering buttons in UI as the size is adjusted在调整大小时重新排序 UI 中的按钮
【发布时间】:2011-09-21 20:42:32
【问题描述】:

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

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

我希望这 7 个网格始终位于面板的“中间”;这意味着:每次调整大小时,都应该重新计算它们的坐标,并且按钮应该移动到新计算的位置。

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

谢谢。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-03-16
      • 1970-01-01
      • 2018-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多