Hide

SftTree/DLL 7.5 - Tree Control

Display
Print

Upgrading from SftTree/DLL 4.0

This topic only applies if you are upgrading from 4.0 or an older version. If you are upgrading from 4.5 or a newer version, please see "Upgrading to Version 7.5"

Only a minimal conversion is required when upgrading from SftTree/DLL 4.0 (or an earlier version) to SftTree/DLL 7.5. SftTree/DLL 7.5 is virtually source compatible with older releases of SftTree/DLL. Your application(s) must be recompiled to use SftTree/DLL 7.5.

SftTree/DLL 7.5 and an older version of SftTree/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.

Discontinued Features

  • Support for Windows 95, 98 and ME has been dropped
  • Support for Borland C++ has been dropped
  • Support for Windows SDK Dialog Editor has been dropped
  • 16-bit support has been dropped. SftTree/DLL 4.0 was the last release supporting 16-bit applications.

Upgrading to Version 7.5

Even though SftTree/DLL 7.5 is not completely upward compatible, the conversion effort is very minimal. Some structures used in earlier releases of SftTree have been increased in size, resulting in the requirement to recompile your source code. To allow for SftTree/DLL 4.0 and this new version to coexist when used by multiple applications, the DLLs have been renamed and a new window class is used.

SftTree/DLL 7.5 is source code compatible with older releases of SftTree/DLL, provided the following changes are made in existing applications:

Converting an Existing Application

The conversion effort to implement SftTree/DLL 7.5 in an application that currently uses version 4.0 (or older) is minimal. Most applications will only have to change the window class name used in DIALOG resources (see below).

Window Class Change

In releases prior to SftTree/DLL 7.5, the window class used for SftTree was SftTreeControl (SftTreeSplit) or SftTreeControl32 (SftTreeSplit32). These window classes have been dropped and have been renamed to SftTreeControl75 (SftTreeSplit75).

Any DIALOG resources that use the old classes must be changed to use SftTreeControl75 and SftTreeSplit75. 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 SFTTREE_CLASS (SFTTREESPLIT_CLASS).

Dll And Lib Files Name Change

The DLLs and LIB files have been renamed for this new release. For the new file names, please see the section "Building Applications".

Using SFTTREE_OBSOLETE_4

A number of structure members and API functions which only accepted bitmap handles have been replaced with the new SFT_PICTURE type which supports bitmaps, icons and ImageLists.

If these are used, compile errors will result, alerting you to the fact that an obsolete feature is used.

SFTTREE_CELL structure - cell bitmap - the hBmp member is now called CellPicture1

SFTTREE_ROW structure - row header bitmap - the hBmp member is now called RowPicture1

SFTTREE_COLUMN_EX structure - column header bitmap - the hBmp member is now called Picture1

SFTTREE_ITEM - virtual mode - the hLabel and hItem members are now called ItemPicture and LabelPicture

The preprocessor symbol SFTTREE_OBSOLETE_4 can be used to make these old structure members accessible to applications, so no conversion is required. By defining this symbol (using #define SFTTREE_OBSOLETE_4) these structure members can be used as in earlier releases. At the same time you can also use the new SFT_PICTURE type. Once you are ready to use the new SFT_PICTURE type throughout, simply remove SFTTREE_OBSOLETE_4.

At the same time, without defining SFTTREE_OBSOLETE_4, any use of the bitmap members will cause a compile error. While you are encouraged to convert to the new SFT_PICTURE structure, this is not required as long as you define SFTTREE_OBSOLETE_4.

DWORD and SFTTREE_DWORD_PTR

The type DWORD which was used in various structures and API calls in earlier releases has been replaced with the new type SFTTREE_DWORD_PTR in order to support 64-bit applications. This does not affect existing 32-bit applications as this type is identical to a DWORD.

SFTTREE_DRAWINGINFO

The structure members hLabelBitmap and hItemBitmap of the SFTTREE_DRAWINGINFO structure are no longer supported. SetItemLabelPicture and SetItemPicture should now be used instead.