SftTree/DLL 7.5 - Tree Control
SftBox/OCX 5.0 - Combo Box Control
SftButton/OCX 3.0 - Button Control
SftMask/OCX 7.0 - Masked Edit Control
SftTabs/OCX 6.5 - Tab Control (VB6 only)
SftTree/OCX 7.5 - Tree Control
SftPrintPreview/DLL 2.0 - Print Preview Control (discontinued)
SftTree/DLL 7.5 - Tree Control
SftBox/OCX 5.0 - Combo Box Control
SftButton/OCX 3.0 - Button Control
SftDirectory 3.5 - File/Folder Control (discontinued)
SftMask/OCX 7.0 - Masked Edit Control
SftOptions 1.0 - Registry/INI Control (discontinued)
SftPrintPreview/OCX 1.0 - Print Preview Control (discontinued)
SftTabs/OCX 6.5 - Tab Control (VB6 only)
SftTree/OCX 7.5 - Tree Control
SftTabs/NET 6.0 - Tab Control (discontinued)
SftTree/NET 2.0 - Tree Control
This section describes how to prepare an application using the C or C++ programming language to successfully use SftTabs/DLL.
In order for #include files to be located in the SftTabs/DLL product directory, each project that uses SftTabs/DLL must be updated to search the product directory.
The default include directory name is \Program Files (x86)\Softelvdm\SftTabs DLL 7.0\Include unless changed during installation.
Make sure to update all configurations (both Debug and Release).
Using the Project, Properties... menu command, the project's Property Pages are accessed so the #include directory search path settings can be modified.
In addition, the correct Lib file must be linked using the Link Input settings.
The Lib file name depends on the current processor target, according to the table below (see "Adding The Lib File").
The file name must be enclosed in quotes (") if the path contains spaces.
Make sure to update all configurations (both Debug and Release).
Using the Project, Properties... menu command, the project's Linker, Input properties are accessed so Additional Dependencies can be modified.
The application's executable (Exe or Dll) must be linked with the correct Lib file, depending on the target environment (see "Updating Project Settings" above). If a Dll is used, it must be available and accessible at run-time for proper execution. The Dll used at run-time depends on the Lib file used at link time. If static linking is selected, the Dll is not required.
All required Lib and Dll files are located in the product directories \Program Files (x86)\Softelvdm\SftTabs DLL 7.0\Lib and \Program Files (x86)\Softelvdm\SftTabs DLL 7.0\Dll.
When building applications for 64-bit processors running Windows 10 and above, one of the following Lib files is used:
| Lib File | Dll File | Description |
|---|---|---|
| SftTabs_x64_A_70.lib | SftTabs_x64_A_70.dll | 64-bit Applications using ANSI character representation |
| SftTabs_x64_A_70_Static.lib | none - see section "Linking Statically" below | 64-bit Applications using ANSI character representation |
| SftTabs_x64_U_70.lib | SftTabs_x64_U_70.dll | 64-bit Applications using UNICODE character representation |
| SftTabs_x64_U_70_Static.lib | none - see section "Linking Statically" below | 64-bit Applications using UNICODE character representation |
Depending on the Lib file used, the matching Dll must be distributed with your application. When using a statically linked library, the Dll is not required, but the application must be updated as described in section "Linking Statically" below.
When building applications for Windows 10 and above, one of the following Lib files is used:
| Lib File | Dll File | Description |
|---|---|---|
| SftTabs_IX86_A_70.lib | SftTabs_IX86_A_70.dll | 32-bit Applications using ANSI character representation |
| SftTabs_IX86_A_70_Static.lib | none - see section "Linking Statically" below | 32-bit Applications using ANSI character representation |
| SftTabs_IX86_U_70.lib | SftTabs_IX86_U_70.dll | 32-bit Applications using UNICODE character representation |
| SftTabs_IX86_U_70_Static.lib | none - see section "Linking Statically" below | 32-bit Applications using UNICODE character representation |
Depending on the Lib file used, the matching Dll must be distributed with your application. When using a statically linked library, the Dll is not required, but the application must be updated as described in section "Linking Statically" below.
When building applications for ARM64 processors running Windows 11 and above, one of the following Lib files is used:
| Lib File | Dll File | Description |
|---|---|---|
| SftTabs_ARM64_A_70.lib | SftTabs_ARM64_A_70.dll | ARM64 Applications using ANSI character representation |
| SftTabs_ARM64_U_70.lib | SftTabs_ARM64_U_70.dll | ARM64 Applications using UNICODE character representation |
Depending on the Lib file used, the matching Dll must be distributed with your application.
This step is only required if a Lib file is selected above, that eliminates the Dll. If the Dll is distributed with your application and a suitable Lib file is chosen above, this step can be skipped.
The entire project must be compiled with the SFTTABS_STATIC preprocessor symbol defined:
Make sure to update all configurations (both Debug and Release).
Using the Project, Properties... menu command, the project's C/C++, Preprocessor properties are accessed so Preprocessor Definitions can be modified.
When linking statically, your application must provide the resources for SftTabs/DLL controls. This is accomplished by including the provided header file SftTabsResources.rci into the application's resource script. This file uses predefined ID values which cannot be changed.
Make sure to update all configurations (both Debug and Release).
#include "SftTabsResources.rci"
Update the resource script by switching to Resource View using the View, Resource View menu command, then use the Edit, Resource Includes menu command:
In order for the include file to be located, the include path for Resources must be updated:
Depending on the Lib file used, it may also be necessary to add additional Lib files to the application. Typically, version.lib is required to allow successful linking.
version.lib
Make sure to update all configurations (both Debug and Release).
Certain features of the control require GDI+ support. GDI+ is available on all supported Windows versions (Windows 10 and above).
If you don't want to distribute gdiplus.dll, you can use the delayload feature of the linker by adding the following to your linker options:
/delayload:gdiplus.dll
This will allow the control to use GDI+, if available, and use alternate presentation methods if it is not available.
Using the Project, Properties... menu command, the project's Linker, Input properties are accessed so Additional Dependencies can be modified.
