How do you find the control's help / documentation on your computer:
Listed below are the questions that we are asked quite often. Before you write us, be sure to check here.
|Just press CTRL+F ( or select Tab\Find menu item ) and you have a dialog that will help you to locate the string that are you looking for.|
|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.|
The Exontrol Tab library installs the TabBuilder component ( Exontrol.TabBuilder is the control's identifier ) that helps you to build new tab controls. Before showing how you can build your own tab control, we have to review for a bit how the TabBuilder can be used. If you already know how to use the TabBuilder component click here to see how to start your own tab control.
Once that you have inserted a TabBuilder component to a form or dialog, you are ready to build new tab controls. Of course, you can use the TabBuilder component to load and change already saved tab controls. When the form that contains a TabBuilder component is opened, the TabBuilder component automatically shows the 'Zoom' and 'Properties' panels. The 'Zoom' panel helps user to magnify different portions of the screen. The 'Properties' panel contains information like, background color, background picture for the selected object.
The TabBuilder component looks like following:
The TabBuilder's toolbox contains the following buttons:
The TabBuilder's client area shows the main objects that define a tab control like follows:
The 'Properties' panel is a resizable window that's visible only if the button is pressed. The caption of its window is 'Background'. The 'Properties' panel is always updated when the selected object is changed. The 'Properties' panel defines the list of pictures used by the skin. The 'Properties' panel looks like follows:
Use the Picture menu to insert, delete a picture object from the skin file. Note that all picture files are saved to the skin file ( tab file ), no matter if they are used or not. The TabBuilder compresses the file, so even if you are using a bitmap file or a gif file, the file of the tab will be compressed! The 'Properties''s toolbox contains the following buttons ( in their order ):
Now, that we are ready to go, we will show you how to create a new TAB control that looks like follows using the TabBuilder component:
Run the form that contains the TabBuilder, and click the file new button in order to create a new tab file.
Step 1. Processing the picture. So, before starting we need to work on the picture to eliminate all things that we don't need it, like texts, colors, tabs and so on. We used mspaint application, but you can use any image processing tool that you want. So, the template picture becomes:
We have used red color, because we want to use RED color as a transparent color, but you can pick up any color that you want.
Step 2. Load the picture. Click the Picture menu on the 'Properties' panel, select the Add New menu item, and select the file saved to Step 1. Click the 'Open' button, and the TabBuiler will load the picture. Click the 'None' item in the 'Properties' panel, because the selected object is exactly the client area of the TAB control, and the picture is tiled on its background. We changed the main object's background color, using the 'Up' key until we reached the root object, and after that we have selected the menu color in the custom color button. After all these your builder should look like follows:
Step 3. Building the FOCUS page. Now, we have to work on how the FOCUS page should look like. We will use the RED color as transparent color, and after we done the FOCUS object the builder should look like:
Step 3. Building the NORMAL page. Because in that case the FOCUS and NORMAL page look the same, we just do the same thing as we did for the FOCUSED page. SO, the next step should look like follows:
Step 4. Building the borders for the client area. The client area is designed like follows:
Step 4. Test. We are ready now to check our tab control. All that we need to do is to click the button, and we have now the:
Step 5. Correction and adjustments. As we can see the distance between pages is a bit larger, and we have a distortion on the top-left side. We are going to select the object between FOCUS and NORMAL pages and we have to set the distance to -2 like follows:
Finally our TAB control will look like follows:
Of course, between steps it is recommended saving the skin file, using the (save) button. Here's the simple.etb file that was obtained by doing the steps mentioned above.
The Container property returns or sets the container of a control on a Form. By default, the control's container is the Form that hosts the control. The following sample adds the Command1 object to the active page of the exTab control:
Set Command1.Container = Tab1
|The ClientLeft, ClientTop, ClientWidth and ClientHeight properties determines the position and the size of the control's client area. The client area of the exTab control cannot be changed at runtime. You can change the position and size of the client area by using the control's TAB editor ( select the "Edit tab" item from control's context menu, while it is design mode ).|
|The TabAutoResize property specifies whether the control arranges the visible pages to fit the control's client area.|
|The exTab component requires a container that implements ISimpleFrameSite interface. Unfortunately, the VBA ( MS Access ) container doesn't support the ISimpleFrameSite interface. The ISimpleFrameSite interface handles simple frame controls ( exTab ) that act as simple containers for other nested controls. Some controls merely contain other controls. In such cases, the simple control container, called a simple frame, doesn't have to implement all container requirements. It can delegate most of the interface calls from its contained controls to the outer container that manages the simple frame.|
need to expose the ICLeft property in the UserControl
object exactly like follows:
Public Property Let ICLeft(ByVal cn As String, ByVal newVal As Long) Controls(cn).Left = newVal End Property Public Property Get ICLeft(ByVal cn As String) As Long ICLeft = Controls(cn).Left End Property
The exTab component looks for the ICLeft property in the container, if it doesn't provide properties to export the inside controls. The Form object doesn't require such of method. The Form object exposes properties to access all inside controls.