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
Only a minimal conversion is required when upgrading from an earlier version of SftTabs/DLL to SftTabs/DLL 7.0. SftTabs/DLL 7.0 is virtually 100% source compatible with SftTabs/DLL 6.5. Your application(s) must be recompiled to use SftTabs/DLL 7.0.
SftTabs/DLL 7.0 and an older version of SftTabs/DLL can coexist in the same application to make the conversion as easy as possible, however, they cannot be used in the same source code file.
Even though SftTabs/DLL 7.0 is not completely upward compatible, the conversion effort is very minimal. Some structures used in earlier releases of SftTabs have been increased in size, resulting in the requirement to recompile your source code. To allow for SftTabs/DLL 6.5 and this new version to coexist when used by multiple applications, the DLLs have been renamed and a new window class is used.
SftTabs/DLL 7.0 is source code compatible with older releases of SftTabs/DLL, provided the following changes are made in existing applications:
The conversion effort to implement SftTabs/DLL 7.0 in an application that currently uses version 6.5 is minimal. Most applications will only have to change the window class name used in DIALOG resources (see below).
In SftTabs/DLL 6.5 (the release prior to SftTabs/DLL 7.0), the window class used for SftTabs was SftTabsControl65. This window class has been dropped and has been renamed to SftTabsControl70.
Any DIALOG resources that use the old window classes must be changed to use SftTabsControl70. Without this change, the dialogs will not be displayed.
If the window class name was "hard-coded" in calls to Create or CreateWindow(Ex), the class name must also be changed. The preferred method is to use the preprocessor symbol SFTTABS_CLASS.
The Dlls and Lib files have been renamed for this new release. For the new file names, please see the section "Building Applications".
In order to use new features, SetVersion must be called with the new version indicator SFTTABS_7_0. Once the new version is activated in your source code, the new members found in the SFTTABS_CONTROL structure must be initialized. If SetVersion is called with an earlier version indicator, these fields need not be initialized. New tab control features will however not be available.
| Member | Suggested Initialization Value |
|---|---|
| new in 7.0 | |
| nDarkMode | SFTTABS_DARKMODE_AUTO (2) - follow the Windows "Choose your mode" setting; set to SFTTABS_DARKMODE_OFF (0) to preserve pre-modernization behavior |
| nHighContrastMode | SFTTABS_HIGHCONTRAST_AUTO (2) - follow the Windows High Contrast accessibility setting; set to SFTTABS_HIGHCONTRAST_OFF (0) to preserve pre-modernization behavior |
| imageScaling | SFTTABS_IMAGESCALING_ASIS (0) - back-compat default; set to SFTTABS_IMAGESCALING_STRETCH (1) to auto-scale all images by currentDPI/96 |
| pixelScaling | SFTTABS_PIXELSCALING_ASIS (0) - back-compat default; set to SFTTABS_PIXELSCALING_STRETCH (1) to treat caller-supplied dimensions as 96-DPI reference values |
By using the suggested initialization values, the tab control will continue to operate as in earlier versions.
The Dlls and Lib files have been renamed for this new release. For the new file names, please see the section "Building Applications".
When linking statically, the library Gdiplus.lib must be added to the linker project settings (see the section "Building Applications").
SftTabs/DLL 7.0 adds four major accessibility and rendering features that are enabled automatically on existing controls with no API changes required. Each has a dedicated guide:
Existing applications inherit the new accessibility and Per-Monitor DPI behavior by simply recompiling against the 7.0 headers and libraries, provided the new SFTTABS_CONTROL members are initialized appropriately (see the initialization table in section 3 above). To also scale caller-supplied images and pixel dimensions automatically, one-line opt-in calls are available - see SetImageScaling and SetPixelScaling.
