Home » U++ Library support » Splitter » multiple controls on a splitter side 
	
		
		
			| multiple controls on a splitter side [message #38208] | 
			Thu, 06 December 2012 11:33   | 
		 
		
			
				
				
				
					
						  
						crydev
						 Messages: 151 Registered: October 2012  Location: Netherlands
						
					 | 
					Experienced Member  | 
					 | 
		 
		 
	 | 
 
	
		I have a splitter which contains an arrayctrl on the left side. Now I would like to place a custom ctrl with a fixed height(not resizable) above the arrayctrl. Say the custom ctrl has a height of 100, and the arrayctrl takes the rest. When I resize the window, the arrayctrl should be resized, and the custom ctrl should remain its height. In .NET this is the standard control docking. However, I looked over the U++ docking component, but this clearly is not what I am looking for. I also took a look at SetMin function of Splitter, but there is no SetMax equivalent that could suit my needs. 
 
How chould I solve this?
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
	
		
		
			| Re: multiple controls on a splitter side [message #38209 is a reply to message #38208] | 
			Thu, 06 December 2012 12:12    | 
		 
		
			| 
				
	 | 
 
	
		| crydev wrote on Thu, 06 December 2012 11:33 |   I have a splitter which contains an arrayctrl on the left side. Now I would like to place a custom ctrl with a fixed height(not resizable) above the arrayctrl. Say the custom ctrl has a height of 100, and the arrayctrl takes the rest. When I resize the window, the arrayctrl should be resized, and the custom ctrl should remain its height. In .NET this is the standard control docking. However, I looked over the U++ docking component, but this clearly is not what I am looking for. I also took a look at SetMin function of Splitter, but there is no SetMax equivalent that could suit my needs. 
 
How chould I solve this?
  |  
  
Hi crydev, 
 
You can use ParentCtrl to achieve both having multiple Ctrls in one splitter cell and having them independently sized. Here is a simple example:#include <CtrlLib/CtrlLib.h>
using namespace Upp;
struct App : TopWindow {
	Splitter s;
	Button b;
	LineEdit e;
	ParentCtrl p;
	
	App() {
		b.SetLabel("some button");
		p.Add(b.HSizePos().TopPosZ(0,30));
		s.Vert(p, e);
		Add(s.SizePos());
	}
};
GUI_APP_MAIN {
	App().Run();	
} 
 
Best regards, 
Honza
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
	
		
		
			| Re: multiple controls on a splitter side [message #38220 is a reply to message #38209] | 
			Fri, 07 December 2012 08:57   | 
		 
		
			
				
				
				
					
						  
						crydev
						 Messages: 151 Registered: October 2012  Location: Netherlands
						
					 | 
					Experienced Member  | 
					 | 
		 
		 
	 | 
 
	
		Thanks a lot Honza, I got this working now. I used the following code: 
 
Custom Ctrl: 
 
*this
	<< mDesc.SetLabel("Press ENTER to Search...").LeftPosZ(5, 120).TopPosZ(5, 30)
	<< mSearchQuery.HSizePosZ(130, 10).TopPosZ(10, 20)
;
 
 
Main form code file: 
 
ParentCtrl mMovieCtrlHolder;
mMovieCtrlHolder
	<< mSearchCtrl.HSizePos().TopPosZ(0, 35)  // custom ctrl
	<< mMovieList.HSizePos().VSizePosZ(35, 0) // ArrayCtrl
;
// splitter.horz( add parentctrl to splitter with other ctrls... );
  
		
		
		[Updated on: Fri, 07 December 2012 08:57] Report message to a moderator  
 |  
	| 
		
	 | 
 
 
 |   
Goto Forum:
 
 Current Time: Tue Nov 04 12:35:59 CET 2025 
 Total time taken to generate the page: 0.04671 seconds 
 |