I am currently working on a UI with wxWidgets. I'm constructing a space in the application to display a live stream video, with a big wxPanel "panelContent" that itself contains two smaller wxPanels: one to display the actual stream, "panelStream", and the other, smaller, one, "controlPanel" to go below the stream and display various buttons to seek, start, pause and stop the stream. The problem I have is not knowing how to set up these panels to allow for the panelStream to be resized according to how big the user makes the mainframe, but for the controlPanel to ALWAYS appear regardless of any resizing, subject to a minimum size. Right now, with the code posted below, the mainframe is maximized by default on Init() and thus displays everything correctly. When resizing, however, the controlPanel is the first to disappear. DevicePanel is the main window that governs all three panels mentioned above, plus one other that isn't relevant to this post. The code is a lot but I think my query is a reasonable one. Thanks for any help in advance

First of all, you should really trim down your code to the minimum when asking such questions. What you can easily remove are the calls that affect background, window style and creating the numerous buttons. Another inconvenient in your code is the confusing parameter names passed to your functions ("devViewSizer" everywhere?).

For what it's worth. I work with DialogBlocks from anthemion (written by one of the founders of wxWidgets). It's a wysiwyg way of drawing your dialogs and frames. As output you may use the generated C++ source or XRC files (=xml) which you can load and display. Saves you a lot of coding and helps you with problems like this one.