GUI Design beginner question lazarus / 10-Designer ---------------------------------------------------------------------- AllRound · 2005-07-09 08:38 I'm beginning my first project in lazarus and I was wondering what is the best way to handle GUI Design. What I mean is the following: I want an application window with a menu on the left side and content on the right side. The menus can be buttons or whatever. Can I somehow include a form within the right side of the main form to change the content while the menu remains unchanged on the left side? Or do I have to recreate the menu in every different content window I make? ---------------------------------------------------------------------- eric · 2005-07-09 18:29 It depends on what the 'content' is. If it's just text, then you can simply put a TMemo on the right hand side, and clear that and rewrite it each time you need to display different text. But if you're talking about a more complex display which has several different layouts, then one way would be to be to put several TPanels on top of one another at the right hand side and set up each one to have the layout you want for one of the menu items. Then you could use Panelx.BringToFront to display the appropriate panel. Eric ---------------------------------------------------------------------- Anonymous · 2005-07-18 14:16 Wouldn't that slow the application alot if you have alot of TPanels? ---------------------------------------------------------------------- RudieD · 2005-07-18 17:47 Unfortunately the "Docking" caps. have not been implemented in FreePascal YET ! I myself need that for my designs, but unfortunately I don't have the knowledge to implement it. ---------------------------------------------------------------------- matthijs · 2005-07-19 08:37 You don't need docking capabilities. You could use a TPageControl and let the choosen menu determine what is the active page. If you set the TabVisible property of the TabSheets to false this works perfectly without the user seeing you are using a PageControl. It also makes it impossible for the user to switch to another TabSheet in any other way then by choosing something form the menu. ---------------------------------------------------------------------- glober · 2005-07-19 17:13 Quote from: "matthijs"You don't need docking capabilities. You could use a TPageControl and let the choosen menu determine what is the active page. If you set the TabVisible property of the TabSheets to false this works perfectly without the user seeing you are using a PageControl. It also makes it impossible for the user to switch to another TabSheet in any other way then by choosing something form the menu. There is a bug in TPageControl (bug# 0885), which is that if you set TabVisible to false, it completely disables/removes the page, not just make the tab invisible. If you don't want to see tabs you have to use  TPageControl.ShowTabs:=false , that will remove all the tabs thou. ---------------------------------------------------------------------- matthijs · 2005-07-19 19:36 Quote from: "glober"If you don't want to see tabs you have to use  TPageControl.ShowTabs:=false , that will remove all the tabs thou. I wrote that post at work and I don't have lazarus installed there, only delphi. So I could not test it in Lazarus