PowerPanel for Delphi Version 1.00

(C) COPYRIGHT Strategic Applications Inc. 1995. All rights reserved.



To register via Compuserve: 	GO SWREG

Registration Number:		8131

Developed by:			John Panagia(72774,2161) 
				Strategic Applications
				150 Knickerbocker Ave
				Bohemia, NY 11716
			

	
This is a shareware product. Registration is $30.00. 
Upon registration you will receive full source code and 
support via Compuserve. For problems or questions you can 
count on 24-36 hour turn-around.  

Unregistered copies will only run from the Delphi IDE.



WHAT IS POWERPANEL.

The PowerPanel components are a collection of 19 
visual components based on Delphi's TCustomPanel. 
These components give your application a very 
flexible means of resizing or moving virtually 
any component at runtime. This package includes 
sizable versions of many of Delphi's standard 
components.

TPowerPanel has built-in logic to turn off resizing 
of a particular border depending on the components 
align property. For example, if you have added a 
TPowerPanel to a form and set the align property to 
albottom, then only the top border is resizable. This 
is because the other borders of the component will be 
controlled by its parents size. 

TPowerPanel allows Developers to control: 

	Which borders are sizable. 
	If  panel movement is permitted. 
	If the panel can move vertically or horizontally. 
	The background color while a PowerPanel is being moved.
	The minimum and maximum height of a PowerPanel.
	The minimum and maximum width of a PowerPanel.
	Which mouse cursors are used for sizing each border. 
	Hiding of child and sibling controls while the 
	  PowerPanel is being resized.



Just as you can resize any of the four sides of a panel, you 
can also resize the panel by any of it's corners. This is 
available as long as the two borders of the corner are resizable. 
For example, if the panel is aligned left, then you can only resize 
the right border, and therefore, none of the corners will be available 
for sizing.  


Included are the following components:


TPowerPanel		Sizable/Movable component based on TCustomPanel.
TPPCap			Sizable Panel with a caption(similar to a window).
TPPLabel		Sizable Label Component.
TPPStatusPanel		Sizable StatusPanel with sizable sections.
TPPEdit			Sizable Edit Component.
TPPListBox		Sizable Listbox with caption.
TPPMemo			Sizable Memo with caption.
TPPOutLine		Sizable Outline with caption.
TPPTabbedNB		Sizable TabbedNotebook with caption.
TPPTabsetAndNB		Sizable Notebook/Tabset with caption.
TPPStringGrid		Sizable StringGrid with caption.
TPPDrawGrid		Sizable DrawGrid with caption.
TPPDirList		Sizable Directory Listbox with caption.
TPPFileList		Sizable FileListbox with caption.
TPPFileManager		Combined Filelistbox, Directory Listbox, 
		  	  Drivebox and Filterbox with caption. 
TPPDBGrid		Sizable DBGrid with caption.
TPPDBGridAccess		Sizable DBGrid with navigator, status panel 
		  	  with sizable section and a caption.
TPPDBNav		Siziable Navigator.
TPPDBNavSplit		Two Navigators, with a status panel with sizable 
		  	  sections between the navigators. Much like 
		  	  the navigator MSAccess uses.
 


PROPERTIES.

Attributes property contains the following sub-properties:
 
  property MinWidth: boolean
  property MaxWidth: boolean
  property MinHeight: boolean
  property MaxHeight: boolean
  property SizableTop: boolean
  property SizableBottom: boolean
  property SizableLeft: boolean
  property SizableRight: boolean
  property Movable: boolean
  property MovableHorz: boolean
  property MovableVert: boolean
  property MoveParent: boolean
  property MoveColor: TColor
  property HideChildren: boolean
  property HideSiblings: boolean
  property StayVisible: boolean
  property TrackPositions: boolean
  property EdgeOffset: integer
  property CursorMoving: TCursor
  property CursorSizingNS: TCursor;
  property CursorSizingEW: TCursor 


To control the size of the panel, use the MinHeight, MaxHeight, 
MinWidth and MaxWidth properties. 

To Enable/Disable the ability to size any of the panels borders, 
use the SizableTop, SizableBottom, SizableRight and SizableLeft 
boolean properties. 

To make the panel movable, set the boolean property Moveable to true. 

To prevent vertical or horizontal movement, set either the MovableVert 
or MovableHorz properties to false.   

To have a parent panel move with a child PowerPanel, set the MoveParent 
property to true. This is the method used with the components that have 
a caption panel aligned to the top of its parent(TPPListBox). When you 
hold the left mouse button down in the caption area and move the mouse, 
the parent moves.

To change  the background color of the panel during movement, use the 
MoveColor property.

To hide any child controls during resizing, set the HideChildren property 
to true. This is useful to eliminate screen flicker during resizing.

To hide any sibling controls during resizing, set the HideSiblings property 
to true. A sibling control is any control that has the same parent control as 
the control being resized.

To force a child or sibling to be visible during resizing, set the StayVisible 
property to true. This is useful if you would like to hide most of the children 
or siblings but not all of them.

If you would like to display the mouse coordinates in the panels caption during 
resizing, set the TrackPositions property to true.

To control the sensitivity of the mouse cursor as it moves over the borders of 
the panel, use the EdgeOffset Property. This is an integer property that relates 
to the number of pixels from the edge. A value of six to ten pixels seems to work 
pretty well.

You can customize the mouse cursors by using the CursorMoving, CursorSizingNS 
and CursorSizingEW. 

The CursorMoving TCursor property specifies the cursor to be used when moving 
the component.
 
The CursorSizingNS TCursor property specifies the cursor to be used when the 
mouse is over the top or bottom border. 

The CursorSizingEW TCursor property specifies the cursor to be used when the 
mouse is over the left or right border.


All of the properties described above are members of the TAttributes class. 
Each TPowerPanel will have an Attributes property. This was designed this way 
so all of the new properties could be kept together.


INSTALLING.


To install these components, do the following:

1.	Store all of the files in a directory on your hard drive.
2.	From the Delphi IDE, choose Options|Install Components.
3.	Click the add button.
4.	Click the Browse button and find the directory where The PowerPanel 
	files were copied.
5.	Pick the PPReg.dcu or PPReg.pas file depending on if you're registered 
	or not, and click ok.

After these steps, you will find a new page on your tool pallet called 
'PowerPanels'. Dive right in or take a look at the PPDemo.dpr demonstration 
program in the install directory.  






Disclaimer:
	
At release time, all components were believed to be functioning as described. 
If you have any problems, you may e-mail me at 72774,2161 for assistance.  
PowrPanel is distributed as is and no warranties are implied.
