FAQ (exsplitbar)
Exontrol.COM Software - Frequently Asked Questions - ExSplitBar Component
1:
The control's release notes can be found on our web site, looking for the Release Notes column in the control's main page. Click here for direct link.
2:
The eXSplitBar control provides automatic resizing /positioning of controls/windows on your form/dialog/window. When the Mode property is set to exSplitBarHorz, the control resizes any controls that lie above or below it, and when the Mode is set to exSplitBarVert, it resizes controls that lie to its left or right. The difference between the eXSplitBar control and other components of the same type, is that the eXSplitBar control works for any programming environments such as Microsoft Office ( Microsoft Access, Microsoft Excel, Microsoft Word ), Visual Basic, Visual Fox Pro, /NET Framework, Delphi, C++, C++ Builder, dBASE Plus and more.

Shortly, the eXSplitBar component splits the form/dialog/window in two pieces, left/top and right/bottom parts. in order to use the control, all it is required is to specify which objects/controls/windows make part of the left/top side of the split bar, and which to right/bottom side of the split bar. Having this, the objects are automatically resizes the left/right or top/bottom components, while user drags the split bar to a new position

Here's the steps you need to follow in order to use the eXSplitBar control:

  • Insert the eXSplitBar library/reference to your project ( follow the "inserting the component to a form/dialog" here )
  • Place eXSplitBar control to your form/dialog/window
  • Specify the objects in the left/top and right/bottom parts of the split bar, using the ObjectsLT / ObjectsRB or AddObjectLT / AddObjectRB available at runtime.

For instance, let's say we have the following layout:

so we have two split bars ( horizontal and vertical ), and three buttons/commands. One splitter should resizes the left-most button, and the rest, and the vertical split bar show resize the top-most button and the bellow one.

In

  • C# for /NET Assembly
  • Microsoft Office ( Access, Excel, Word )
  • Visual Basic 6
  • Visual Basic for /NET Assembly
  • Visual FoxPro

you can select the split bar in design mode, and specify the objects in the left/top and right/bottom parts of the split bar as in the following screen shot, using the ObjectsLT and ObjectsRB properties:

In 

  • C++ Builder
  • C# for /COM on /NET Framework
  • Delphi
  • dBASE Plus
  • Visual Basic for /COM on /NET Framework
  • Visual C++

you need to use the AddObjectLT and AddObjectRB methods as in the following samples.

C++ Builder :

SplitBar1->AddObjectLT(TVariant(Button1->Handle));
SplitBar1->AddObjectRB(TVariant(Button2->Handle));
SplitBar1->AddObjectRB(TVariant(SplitBar2->DefaultInterface));
SplitBar1->AddObjectRB(TVariant(Button3->Handle));

C# for /COM on /NET Framework :

axSplitBar1.AddObjectLT(button1);
axSplitBar1.AddObjectRB(button2);
axSplitBar1.AddObjectRB(axSplitBar2);
axSplitBar1.AddObjectRB(button3);

Delphi :

with SplitBar1 do
begin
	AddObjectLT(Button1.Handle);
	AddObjectRB(Button2.Handle);
	AddObjectRB(SplitBar2.DefaultInterface);
	AddObjectRB(Button3.Handle);
end

dBASE Plus :

this.EXSPLITBARACTIVEXCONTROL1.nativeobject.AddObjectLT(this.PUSHBUTTON1.hwnd)
this.EXSPLITBARACTIVEXCONTROL1.nativeobject.AddObjectRB(this.PUSHBUTTON2.hwnd)
this.EXSPLITBARACTIVEXCONTROL1.nativeobject.AddObjectRB(this.EXSPLITBARACTIVEXCONTROL2.nativeobject.hwnd)
this.EXSPLITBARACTIVEXCONTROL1.nativeobject.AddObjectRB(this.PUSHBUTTON3.hwnd)

Note: In case the object you want to add to a part of the split bar does not provide a hwnd property or return 0, add the control itself to a container object, and uses the container's hwnd property for AddObjectLT /  AddObjectRB methods.

Visual Basic for /COM on /NET Framework:

With AxSplitBar1
	.AddObjectLT(Button1)
	.AddObjectRB(Button2)
	.AddObjectRB(AxSplitBar2)
	.AddObjectRB(Button3)
End With

Visual C++:

EXSPLITBARLib::ISplitBarPtr spSplitBar1 = GetDlgItem(IDC_SPLITBAR1)->GetControlUnknown();
spSplitBar1->AddObjectLT( (long)::GetDlgItem( m_hWnd, IDC_BUTTON1 ) );
spSplitBar1->AddObjectRB( (long)::GetDlgItem( m_hWnd, IDC_BUTTON2 ) );
spSplitBar1->AddObjectRB( GetDlgItem(IDC_SPLITBAR2)->GetControlUnknown() );
spSplitBar1->AddObjectRB( (long)::GetDlgItem( m_hWnd, IDC_BUTTON3 ) );
3:
In case you are using the:
  • /COM version, just install and use the registered setup ( the one that asks for a development license key ) on your development machine.
  • /NET version, you need to specify the runtime license key as explained in the redist.txt file.

When you purchased the component you have received your runtime license key. Your application must call the RuntimeKey property of the component before calling any other property of the control as follows:

VB.NET:

Public Class Form1
	Public Sub New()
		exontrol.EXSPLITBARLib.exsplitbar.RuntimeKey = "your runtime license key"

		InitializeComponent()
	End Sub
End Class

C#:

public Form1()
{
    exontrol.EXSPLITBARLib.exsplitbar.RuntimeKey = "your runtime license key";

    InitializeComponent();
}
4:
Yes, it is possible. As the split bar itself do moving instead of sizing, when it is dragging, the same thing can happen with objects that are present in the ObjectsLT and ObjectsRB properties. In other words, in order to specify an object of the split bar to perform moving, you need to add the same object to both properties ObjectsLT and ObjectsRB. The same if you are using the AddObjectLT, you need to add the same object to the AddObjectRB. This way, the split bar knows that the common object is being moved, rather than sizing.

For instance, let's say we have the following ObjectsLT and ObjectsRB properties:

  • ObjectsLT is "Command1,Command2"
  • ObjectsRB is "Command1, Command3,Command4"
indicates that the Command1 object is an object to be moved, when the split bar is moved, else any other object is resized/relocated according to the movement of the split bar.
5:
So far we have been tested successfully the control on the following environments:
  • C# for /NET Assembly
  • C# for /COM on /NET Framework
  • C++ Builder
  • Delphi
  • dBASE Plus
  • Microsoft Office ( Access, Excel, Word )
  • Visual Basic 6
  • Visual Basic for /NET Assembly
  • Visual Basic for /COM on /NET Framework
  • Visual C++
  • Visual FoxPro
In case you are using a different environment, you can get a registered-copy of the control, free of charge, if you can provide three samples:
  • Simple
  • Move
  • Appearance

and steps required for the control to make it work on your environment.

Once you have these, please contact us, and we will be happy to add your environment to the list, and you will receive the registration copy of the component.

Please check: How can I use the split bar?

How-To Questions
General Questions