Now Available!

Native .Net

TList WinForms
.Net Framework


MetaDraw WinForms
.Net Framework

Make you
look sharp!




Order Forms

How To








Site Map


History File (version 7)

File Name Current Version Date Created
TList7.ocx 7.0.52 29 December 2004
TLTVw2.ocx 2.0.3 12 August 2004

For Newer Updates,
See TList 8 OCX or TList .NET Winforms

TList7.OCX 7.0.52, 29 December 2004
Change Subject Description


Use of TList within ASP

It is now possible to dynamically create new instance of TList within ASP.NET script using Server.Create method
      Set objTList = Server.CreateObject("TList.TList.7")
TList now allows calls to properties/methods without initialization of the TList instance (via any stream).


Modifications property/ Bitmap Transparency

A New flag bit Setting has been introduced for the Modifications Property



  • True ( default ) TList handles transparency of bitmaps ( when TransparentBitmap property is set) as in older ( pre 7.0.51 ) builds
  • False, TList creates a PixelByPixel mask to handle bitmap transparency which may be helpful to users of the OCX building .NET applications.

Note - Using PixelByPixel mask creation is slower and should only be used if standard setting does not give desired result.

Background :
Bitmap Transparency properties
    ( .TransparentBitmap & .TransparentBitmapColor )
did not work when picture properties
  (PictureLeaf, PictureOpen, PictureClosed )
are set at run-time using OCX edition of TList in .Net application

Because this appears to be an error in .NET framework and current mechanisms work well ( and faster than other techniques in standard EXE applications ( not .NET) the PixelByPixel mechanism for generating transparency masks was added as an option controlled by Modifications property so that the developer can decide which technique TList should use.


FullItemString property

Reading TList1.FullItemString( index ) should return value of TList item if there is no grid In earlier builds an empty string was returned if there was no grid


Extended MultiSelect

A bug in Multi-Select support had been introduced in build 7.0.24. This is corrected in build 7.0.52

Situation :
      TList.Multiselect =2
      TList has multiple column Grid
      - User selects multiple items
      - User then clicks on one of the selected items
TList SHOULD clear selection of all items except clicked item
TList in fact did not clear the other item's selection


Activatable Property

Setting .Activatable = TL_ACTIV_DISABLED did not work properly for either RowCellDef or Gridcell.CellDef , or for ItemCell if applied to item in Grid
   => mouse clicks still activated the grid row

TList7.OCX 7.0.51, 12 August 2004
Change Subject Description


OLE DragDrop

1) The call data.SetData "x", vbCFText inside OLEDragOver event caused a GPF.
2) Method TList.OLEDrag did not work if TList.Grid object was specified.


Navigation past Hidden Items

If all children of an item are marked using ItemAlwaysHidden property and hidden items are not shown ( ShowHiddenItems = False ) then there was a problem navigating up and down with arrow keys.
The Up arrow key skiped ( jumped over ) the parent of the hidden items.


Click on Partially Shown Item

When a partially shown item on the edge of the control is clicked it will ( and should ) scroll the tree to show the entire item.
The problem was that if the item is the last item in the tree, the ItemClick and Click events were not generated.

Comments: The events are now properly generated if the Modifications property flag TL_MOD_CLICK_BEHAVIOR is set on.
The flag is set on by default.
The events will not be triggered if this flag bit is not set.


Editing Double Precision Values

Starting in-place text editing of a double-precision number caused a change in the formatting of the number and in some cases a loss of precision.
The result was that just startting and ending editing could change the number. 


TList TreeView - Display

A resource leak caused repainting problem when adding and removing nodes with associated imagelist icons.
Both resource leak and repainting have been corrected . 


MS Treeview Compatibility wrapper - TLTreeView

There was a functional incompatiblity when upgrading projects from MS Treeview to TList TreeView.

The following properties for finding relative nodes in a tree returned a node object in TListTreeView wrapper even when there was no node to move to:

To iterate around the children of a node, MSTreeView allows you to use these properties - for instance Node.Next until it returns Nothing.
TListTreeView returned a Node object ( not Nothing ) for non-existent items and caused an error when geting the next (also non-existent) node after the non-existent node. 

The behavior has now been corrected for these properties They now return Nothing if the target item does not exist.

Also - when reading Node.FirstSibling and Node.LastSibling - standard MSTreeview triggered a trappable error if the parent item had been removed before this call, but TlistTreeView did not.


MS Treeview Compatibility wrapper - TLTreeView

The TListTreeView wrapper control did not fully implement compatible syntax for the MS TreeView Add method.
MS TreeView allows you to supply a Node object as the first parameter of the Add method, but the TListTreeView wrapper required either a string key or item index.

It is now possible to use either a string, an item index or a Node object as the first parameter of the Add method. 


MS Treeview Compatibility wrapper - TLTreeView

DropHighlight property was not supported in TLTreeView wrapper OCX

This functionality has now been added -
BUT - there is a small incompatibility which can not be changed:
In response to setting DropHighlight to a node:
Set TLTreeView.DropHighlight = objNode
the following TListTreeView properties are updated in order to draw the tree as MSTreeView:
These properties are restored after resetting TLTreeView.DropHighlight to Nothing ex:
set TLTreeView.DropHighlight = Nothing.

MSTreeView does not change the TreeView properties, so developers should these difference into consideration.  

TList7.OCX 7.0.50, 8 June 2004
Change Subject Description



Dragging the mouse with button depressed over grid captions while in Extended MultiSelect mode (with MultiSelect = TLMULSEL_EXT) caused an error.



In Extended MultiSelect Mode (TLMULSEL_EXT ) TList incorrectly selected items on MouseMove from the just unselected item to the current item.
TList now correctly selects only the current item in this situation.


Printing Icons

Icons did not print properly on some printers.
This problem was introduced in build 7.0.37
In builds after 7.0.37 the TL_PRNOS_POST_SCRIPT_DC was ignored and TList tried to automatically recognize whether the printer was PostScript.
In some cases this did not recognize all printers which lacked proper support for icon printing.
For such printers the TL_PRNOS_POST_SCRIPT_DC must be used and not ignored In new build TL_PRNOS_POST_SCRIPT_DC is again recognized but in most cases ( for postscript printers ) it will be automatically set as required.
However if printed ouput does not properly show icons the application code should set this flag in parameter of PrintOneStep method Note - while this flag is not required, output will be of higher quality when it is not set.


Combobox Editing in VC

When used on a VC++ Dialog, with TList combobox editing style set to TLCOMBO_DROP_DOWN , TList did not properly recognize the pressing of the key during combobox editing as completion of editing. 

TList7.OCX 7.0.49, 27 April 2004
Change Subject Description


Virtual Items - Scrolling

Postponed / Cancelled scrolling causes drawing problem for virtual items.
Cancelling / Postponing scrolling within VScroll event while using Virtual Item support caused the scrollbar to jump to the previous position or to the positions of the active item before moving to the proper scrolled position.
Previous fix ( 7.0.36) was not sufficient, as result horizontal scrollbar was not hidden after vertical scrolling when the horizontal scrollbar should not be shown.

TList7.OCX 7.0.48, 16 April 2004
Change Subject Description


Incorect number of selected items/rows

TList did not return the correct number of selected items/rows if virtual mode was turned ON and so called "tree-grid" object was created.



The sorting was not working properly, items were added in random order.


PrintOneStep method

PrintOneStep method did not print column's headers for grid object created via TList1.ItemGrid(-1) statement.

TList7.OCX 7.0.47, 31 March 2004
Change Subject Description



There was an problem introduced in version 7.0.46 that prevent end-users from collapsing/expanding the tree via clicking over plus/minus signs.
Note: versions prior to 7.0.46 were not affected by this problem.

TList7.OCX 7.0.46, 18 March 2004
Change Subject Description


Non-Scrollable Columns

TList now supports freezing a defined number of left hand columns so that they are not scrolled horizontally This is implemented with the new property NonScrollableColumns

NonScrollableColumns property
Applies to
TListGrid object ( TreeGrid only, not supported for ItemGrids)
Specifies the number of columns on the left that are frozen ( can not be scrolled ) in TList.
These columns will remain on left side regardless of user Scroll bar or keyboard action.
When set to 0, all columns are scrollable
(even column 0 - the Row Titles column )
Default = 1 ( RowTitles column is non-scrolling )
TList1.Grid.NonScrollableColumns = 4
The value of the Non-ScrollableColumns property is based on enumeration of all columns - even hidden columns.
Thus in the case where there is no RowTitles Column, and Coldefs(2).Visible = false Then setting NonScrollableColumns = 4 would mean that the 4 frozen columns are Column 0 ( the hidden Row Titles Column ) Column 1 , Column 2 ( not seen ) and Column 3 So user would see columns 1 and 3 frozen (not scrollable ) and all other columns ( columns 4, 5, 6, 7 ... ) would be scrollable
This feature is enabled only for users with Subscription License option. Users attempting to use this feature without Subscription License will see message "You do not have an appropriate license to use an extended functionality of the control - NonScrollableColumns " .


Error on Application Exit

In the following rare situation TList caused an error on application exit
1) TList has TreeGrid
2) LoadData method was called and it loaded new TreeGrid
3) After the load TList was not redrawn (Redraw = False)
4) Exit from the program (destroying TList).


DragDrop to Textbox

The result of a Dragdrop operation from TList to standard Textbox incorrectly appended some garbage characters at the end of the textbox in addition to the dragged TList text.


TListNode.Prev after DragDrop

Reading the .Prev of a TList node object after moving the node using drag Drop caused error in some situations.


Delphi 7 Environment Compatibility

A conflict between Delphi 7 and the MousePointer and MouseIcon properties had potential for causing a GPF.


VScroll / HScroll Events

The "Pos" parameter was set to an incorrect value inside VScroll event and HScroll event parameter.


TDesigner - ScrollBars

Scrollbars were not correctly drawn within TDesigner utility after adding new outside the visible items range.


"item-grid" cell editing

It was not possible to edit the last cell in a root ItemGrid if some root ItemGrid ( ItemGrid(-1) was implemented with visible column.

TList7.OCX 7.0.45, 20 January 2004
Change Subject Description


New version of TListTreeView 2.0 ActiveX is available

TListTreeView is a Wrapper control encapsulating TList functionality while offering MS TreeView Syntax compatibility. Refer to updated help file for details.

Note that use of TListTreeView is recommended only for users upgrading MS TreeView projects to TList - in this case it can avoid the need to rewrite code for TList syntax. Direct use of TList ( not TListTreeView ) will however usually result in much faster performance.


BottomIndex property

When a programmer set BottomIndex property to some index, TList content will be scrolled automatically to make that item/row visible. Previously this was a read-only property.


Combobox in-place editor and Modifications property

Some flags of the Modifications property were ignored when combobox in-place editor was displayed.


OLEDragOver and OLEDragDrop events

When programmer changed the Effect parameter inside the OLEDragOver or OLEDragDrop events, it had no effect on the drag/drop operation.

TList7.OCX 7.0.44, 23 December 2003
Change Subject Description


Modifications property flag

Grid captions became selectable if TL_MOD_INGNORE_SELECTABLE_PROP flag was set for Modifications property.


ActivationMode property

ActivationMode could not be set to default value (TL_ACTIVMODE_ITEM)


TListSelectedRows object - Count property

TList.Grid.SelectedRows.Count did not work properly in build 7.0.43. The problem happend only for so-called tree-grid object, there was no problem for item-grid objects.

TList7.OCX 7.0.43, 17 December 2003

Change Subject Description


New ToolTipsMode Setting

A new mode for ToolTipsMode property was added: TLTOOLTIPSMODE_STANDARD In this mode tooltip window is visible only when the mouse pointer is over the grid cell and does not cross that cell boundaries. As soon as mouse moves out of the cell - tooltip window dissapears. This behavior is similar to a standard behavior of Windows Explorer.


Drag/drop behavior adjustments

A number of changes were implemented in order to improve compatibility of selection / drag-drop behavior with Windows Explorer Behavior.

Now when the MultiSelect property is set to TLMULSEL_EXPLORER_LIKE, TList responds as noted below:

User Action  TList Response

click (no key pressed)

select item on MouseDown

click (CTRL key is pressed)

select nonselected item on MouseDown, deselect previously selected item on MouseUp

click (SHIFT key is pressed)

select a range of items on MouseDown

click (CTRL key is pressed) over non selected item +
starting drag/drop

select the item that was clicked in order to include that item into a range of drag/drop items

Note: The SmartDragDrop property will not be set internally to TRUE (as it was before) when drag/drop starts Previous to this change an item was always selected or deslected on Mouse Down regardless of the what keyboard keys were depressed.


Performance / Selectable property

In order to improve TList performance, a new flag bit may now be set in the Modifications property.

TList.Modifications = TList.Modifications Or TL_MOD_INGNORE_SELECTABLE_PROP

With this flag bit set within the Modifications property, any settings for Selectable property (TListCellDef object) will be ignored. TList will in this case not restrict the ability to perform any selections.
Specifing this flag will significantly speed up selection related operations ( for example: reading SelItemCount to retrieve the number of selected objects ).

Note: the value of the Selectable property may still be set and read but it will have no effect on the behavior of TList.
This new setting of Modifications property is most valuable for when using TList Virtual Load mechanisms.


Handling unsupported operating systems

A new property WarningForUnsupportedOperatingSystem was added.

Earlier editions of TList 7 have been designed to always warned end-users when a TList based application is run in an operating system for which TList is not formally supported ( for which it was not designed or tested ).

The programmer can now control this behavior.
Now when TList is loaded in Run-Time mode ( when user runs a compiled .EXE TList based application ) on an operating system which has not been formally tested for, TList will first check the value of the WarningForUnsupportedOperatingSystem property.

If this property is set to True ( Default setting ) TList will display the following message ( only the first time the application is run on this operating system ):
" The component, TList 7 OCX , being loaded by this application was not designed for the current operating system and is not formally supported. The application may still run but support of the functioning of the component is not guarenteed. Please check with your the application publisher for a more recent edition of the application "

If this property has been set to False, the programmer is taking responsibility for the compatibility of the application with the unsupported ( by TList ) operating system and now warning message will be shown by TList to end-users.

Regardless of the setting of this property a warning will be shown at to developers loading TList based project in design time environment on an operating system not formally supported by Bennet-Tec:
" The component, TList 7 OCX , being loaded was not designed for the current operating system and is not formally supported. Please check for a more recent edition of this product "

Currently TList 7 has been designed and tested and is formally supported for use under Windows 95, 98, NT, ME, 2000, XP, 2003.


Huge TLT data sets

TList can now support really huge TLT data files ( saved and Read with with SaveData and LoadData methods ) holding up to 2,147,483,647 stored objects (rows, cells, hidden values, images,  . . .)
Previously a TList TLT Data file could only support data sets containing a maximum of 2,000,000 objects .


CurrentParent property

The CurrentParent property now supports the embedded string "\.." as in DOS, as pointing to a higher level node.

Example: for following tree
 |   |--item4

TList1.CurrentParent = "\item2\item3\item4\.."
In this case TList sets 'item3' as the current parent.


Auto Scrolling during Drag/Drop

Auto Scrolling during drag/drop of the item from bottom to top of TList did not work if the Appearance and BorderStyle properties were set to 0 (FLAT apperance).


RefreshItems method

Calling TList1.RefreshItems(0, TList1.ListCount - 1) caused a GPF in some situations if the ItemVirtualCount property was decreased within ItemQueryData event.
NOTE: The specific problem was fixed but programmers should be aware that the ItemVirtualCount property should not be changed inside the ItemQueryData event.


AddItem2Ex() method

Some flags did not appear to work properly when were applied to the Options parameter of AddItem2Ex method (for example TLFAST_FONTBOLD (&H20), etc).
The problem happened when the FontName parameter was not specified and the AddItem2Ex method applied the system default font, which may not have supported the specified font characteristics ( ex bold is not supported for System font ).
Now TList's default font is used in this case.


Automatic drag/drop and ItemDeactivate event

In some situations a call to the MsgBox function within the ItemDeactivate event handler caused TList to incorrectly start automatic drag/drop operation.


Drag/drop problem

An internal application error could have occurred when items were dragged over the client area and following properties values were applied:


TList7.OCX 7.0.42, 13 October 2003
Change Subject Description


A new sample for Borland C++ Builder 6.0 was added to the installation kit.


Editing problem under Borland C++ Builder

When the in-place editing started a keyboard input was partially ignored (for example: up/down keys while using combobox, etc).


Focus rectangle and SmartDragDrop property problem

If selection mode was set to single item/row selection and SmartDragDrop property was set to TRUE, the selection mark could separate from a focus rectangle.


In-place editing and scrolling problem

TList did not automatically scroll a grid object to display a cell to be edited if the focus was not set to TList control at the time of initialization of in-place editing.

Here is a sample code that reproduces the problem. This code returns error "Can not start text edit":

Private Sub cmdStartEdit_Click()
  TList1.Grid.CellEdit(1, 19) = TLEDITMODE_BEGIN
End Sub

Private Sub Form_Load()
  With TList1.Grid
    .Cols = 20
    .Rows = 20
  End With
End Sub

In this sample code the focus got moved from TList control to command button control right before CellEdit method, that should start editing, got called. That prevented TList from starting in-place editing correctly.


Tooltips related problem

Showing tooltips window prevented some events for being fired. The events like OLEDragStart or MouseMove were not fired when the mouse was moved over a tooltip.


TListGrid.Visible property related problem

TList.Grid.Visible = False property did not work in TList 7.
Note: there was no such problem reported for TList 5 and 6 versions.


TreeGrid object column title and checkbox editing problem

When so called "tree-grid" was created and displayed (TList1.Grid.XXX interface) and programmer added a checkbox edit control to the one of the grid column title's cells of "tree-grid" object, an end-user could not change the state of that checkbox control using a mouse.


Multiple selection related Access problem

When responding to user key combinations for multiple selections, TList did not recognize a programmatically selected initial selection as the starting point for selected range. As a result, the first key selection by user selected only an individual item in this case.


Column resizing problem

When the height of TList control was bigger then the width, end-user could not resize any column of the LAST grid object within the tree structure (so called "item grid" objects).


PrintOneStep method problem

A PrintOneStep method printed a page numbers starting with a page number 0 instead of 1.
Now the page numbering starts from 1.

NOTE: TList7.OCX update 7.0.41 (internal)

TList7.OCX 7.0.40, 13 July 2003
Change Subject Description


Modification property

TL_MOD_GRID_EDITING_ADJUSTMENT (0x4000) flag was added for Modification property.

Applying this flag fixes following problems:

- In-place editing of the "tree" column generated "Item" editing events instead "Grid Cell" editing events (for example: RequestEditing event was generated instead of GridCellRequestEditing one).

- TLTEXTBOX_OPT_FULLRECT flag for TListTextbox.Options property did not have effect for "tree" column's cells in grid.

- A number of small problems connected with size of editing controls were fixed:

a) the width of editing box for grid cells was one pixel less than it supposed to be;

b) the height of editing box for empty "tree" grid cells was bigger that the height of editing box for non-empty "tree" grid cells. This problem took place only when Modification flag TL_MOD_CELLDEF_ALIGNMENT is ON.

c) some other minor problems with the sizing of editing controls.


In-place editing problem

There was a problem with in-place editing for "tree" column of tree grid (grid object accessed via TList1.Grid.XXX ). During editing of the "tree" column TList generated "Item" editing events instead "Grid Cell" editing events (for example: RequestEditing event was generated instead of GridCellRequestEditing one).

If TL_MOD_GRID_EDITING_ADJUSTMENT flag set TList generates Grid Cell editing events while "tree" column editing.


Incorrect formating of data of decimal type

The problem occurs only only under MS Visual Basic while debugging (ver. 5 and 6) and only if Decimal symbol (Start\Settings\Control Panel\Regional Options\Numbers) is set to something different from '.' symbol.


Format property problem

There was a problem with Format property while working with date/time formats.

"AM/PM" format did not work properly:
TListCellDef.Format = "*hh:nn AM/PM;;;*"
shown "19:32 PM" instead of "07:32 PM".


DragHiLight property problem

Design-time settings for DragHiLight property was ignored. At run-time TList reset it to 1.


[Tab] key problem

When TListGrid object was set to multi-selection mode [Tab] key moved the focus and selected cells/rows. That was fixed. Now [Tab] key ONLY moves the focus (activates) cells/rows. Note: [Shift]+[Tab] selects group of cells/rows as it suposed to. There was no problem with that.


GridCellEditingChange and ItemEditingChange events

There was a problem when GridCellEditingChange and ItemEditingChange events were no generated. It happend when all previous data in the cell/item are selected and a new character when typed replaces the whole selection. Note: the problem took a place only if the cell/item has single-line text style (i.e. edit box is single-line edit box).


Problems with conversion data to string

Some operation could potentially cause GPF if tree or first column of grid contains data which type is different from the string one. Following operations/properties could cause the problem:

1) OLEDragDrop operation

2) TList.Text property

3) TList.FullPath property

4) TList.Clipboard property

and maybe some others that perform transformation item contents to string.


Print/Preview Access form

TList did not print the content correctly when user tried to print or preview Access form with TList control on it.


In-place editing problem

There was a problem with in-place editing for "tree" column of tree grid (grid object accessed via TList1.Grid.XXX ). Clicking on an empty space in a cell of the Tree column of TreeGrid did not start editing.

TList7.OCX 7.0.38, 13 June 2003
Change Subject Description


Non-selectable item problem

When an item has a Selectable property = DISABLED. Because of the internal TList problem such item was accounted as if it is a selected one when SelItemCount property was called.

TList7.OCX 7.0.37, 03 June 2003
Change Subject Description


InvStyle in TreeGrid

By default the InvStyle property is ignored within a TreeGrid

It is now possible to apply the InvStyle setting within the Tree column of a TreeGrid by applying a new flag in the Modifications property


If this flag is SET then InvStyle property behavior specifying display of selected cells is applied to selected cells within the Tree column of a TreeGrid.

If this flag is NOT SET ( default ) then the entire grid cell in Tree column of TreeGrid is shown as selected when selected.



TList now automatically detects postscript printers In the past it was necessary to set the PostScriptDC property.

The PostscriptDC property is now ignored and printer type detection is automatic.


TList DragDrop Highlighting

In some rare cases two items were simultaneously highlighted as drop targets during AutoDragDrop operations.


Printing TreeGrid

TList did not properly print the left and top border lines in a TreeGrid when using default printer settings.


Word Wrapping Display

TList did inot properly display a word wrapped grid cell in cases where the first line of the Grid Cell contained a single unbroken word longer than the width of the grid cell.


GPF in Virtual TreeGrid

Adding Virtual children to a Virtual Item within a TreeGrid structure had caused a GPF.



TList behaved improperly when editing was recursively started by initiating editing within the GridCellRequestEditing event



TList added extra zeros when initiating end-user editing for cells formatted with *Currency* format.

TList7.OCX 7.0.36, 25 April 2003
Change Subject Description


Currency support

TList now treats Currency as a numeric data type for the purposes of sorting and for use with Format property.


RTF Editing

The TL_REQED_STDCOLORS flag may now be applied for text editing when editing a cell containing RTF data This controls the backcolor of the editing window.


TList ItemGrid ColumnTitles Row

The ColumnTitles Row in an ItemGrid was incorrectly positioned too far to the left when setting

TList.ViewStyleEx is set to TLVIEWSEX_NONE ' ( hiding +/- signs)



The Sorting Style property was not applied to new items added after the setting of the property.



In MultiSelection mode TList did not selects all items in a range with user using SHIFT + END selection if some parent items in the range were collapsed. In this case the last items in the range had been left unselected.


Grid Cell Borders

  1. The following code incorrectly drew the border around column titles even though the GridBorderStyle.ColTitles flag was not applied.

    TList.ItemGrid(ParentIndex).GridLinesStyle = TLGRIDLINES_NONE
    TList.ItemGrid(ParentIndex).BorderStyle = TL_GRIDBRD_BORDER

    The horizontal line between the column titles and other items shold not be drawn in this case

  2. Setting the TL_GRIDBRD_BORDER flag in the TList.Grid.BorderStyle property did not properly draw the Left border


TList Redraw

In rare situations with TList within a container that is itself within a container ( such as TList within a PictureBox within a TabStrip), overlapped regions of TList were not repainted properly after they are hidden by another window or control and then uncovered.


TList problem

Setting CancelDefault = True when ScrollCode = 5 doesn't work correctly in the VScrol event. Scroll bar position draws in incorrect place after release the mouse button.

NOTE: TList7.OCX update 7.0.35 (internal)

TList7.OCX 7.0.34, 18 March 2003
Change Subject Description


Text Editing

TList can now automatically increase the height of the text editing area in response to wordwrapping when in multi-line editing mode - previously the height of the editing area was only increased in response to the entry of a new line using [Ctrl]+[Enter] key combination To enable this feature the TLTEXTBOX_OPT_AUTOHEIGHT flag must be set and the TLTEXTBOX_OPT_AUTOHSCROLL and TLTEXTBOX_OPT_HSCROLLER flags must be unset in Textbox.Options property


' the following can be applied to any TListCellDef object,
' such as a ColDef().CellDef , or Grid.Cells().CellDef, or ItemCellDef
With TList1.Grid.Coldefs( 3).CellDef
.TextBox.Options = _
' Set up dimensions of the editing area in Pixels Wide x Lines tall
Dim ColWidth as Long
colwidth = ( TList1.Grid.ColDefs(2).Width + 240 ) / Screen.TwipsPerPixelX
.TextBox.MaxWidth = colwidth 'max width of edit window in pixels
.TextBox.MinHeight = 3 ' increase this if desired
.TextBox.MaxHeight = 6 ' modify this as desired
End With

Note - that here we have set both an initial minimum textbox height of 3 lines, and a maximum height of 6 lines after which the vertical scrollbar becomes active.


OLE DragDrop from VB Textbox

There is a bug in VB Textbox due to which TList could not properly add a row in response to OLE DragDrop of selected text from VB Textbox in Automatic DragDrop mode. This is now supported through an internal TList Workaround.


Sorting / Scrolling

TList had incorrectly scrolled under some circumstances when sorting was initiated.


Virtual Items / ItemQuery Data / Redrawing

Virtual items were not redrawn correclty when scrolling and releasing the vertical scrollbar quickly. The problem was reproducible with the standard VC sample # 6.

TList7.OCX 7.0.33, 18 February 2003
Change Subject Description



  • Help file has been updated to include all version 7 features
  • User manual has been updated to include all version 7 features

  • Enhancement

    Windows Server 2003
    (WinNT 5.2)

    TList 7 has now been updated and tested to support Microsoft Windows Server 2003 (WinNT version 5.2)



    It is now possible to use the FindValue method even within the Tree column of an ItemGrid or TreeGrid In this case:

    use valuename "__ItemTreeColumn" to seach Tree column within an ItemGrid.
    use "__Tree" to search the Tree column within a TreeGrid.



    TList dropped a dragged item to the wrong position if there were collapsed items with children above in the tree.


    Scrolling / Display

    When user scrolled page by page down with using vertical scrollbar or keyboard in some cases at the end of the tree TList showed several of the last items at the top of TList window and big blank space below.

    Support for a new Flag option was added to The Modifications property TL_MOD_STRICT_TOP_INDEX (&H1000) To fix the problems DO NOT SET the flag. By default the flag is off.When the flag is set TList works as in previous builds.

  • Scrolling / Huge List
    In some cases with a huge number of Virtual Items it was impossible to scroll the list to the end using the scrollbar. After releasing the scrollbar, it "jumped" up from the bottommost position.

  • ScrollBar Display
    TList incorrectly showed the vertical scroll bar when even when all items were visible in the case where the height of the TreeGrid (caption and all items) exactly equals height of the 'client' part of TList window.

  • Fix

    Printing with Images

    TList did not correctly print (to physical printer) in cases where grid cells size were adjusted to fit inserted pictures.


    Printing cells with non-zero margins

    Trees with non-zero values for CellDef.MarginLeft and CellDef.MarginRight were incorrectly printed - the margins were incorrect.


    RTF Single Line

    Tooltips displayed for non-multiline RTF items are too long

    Support for a new flag option was added to the Modifications property TL_MOD_FORCE_RTF (0x0800)

    When this flag is set, TList tries to calculates the width of single line RTF text

    NOTE: TList7.OCX update 7.0.32 (internal)

    TList7.OCX 7.0.31, 10 January 2003
    Change Subject Description


    Refresh Method

    Calling the Refresh method incorrectly reset ListIndex to -1.



    TList triggered an error message when trying to set/get ItemHeight with -3 specified as the index.
    (-3 is special index referring to most recently added item)


    GridCellClick and GridCellDblClick Events

    The GridCellClick and GridCellDblClick were not triggered for user clicking on the Tree column in a grid.

    Mouse click on the grid column with the Tree should trigger BOTH ItemClick and GridCellClick.

    Mouse double-click on the grid column with the Tree should trigger BOTH ItemDblClick and GridCellDblClick.


    RowHeader after deleting Row

    The Row Header column was not correctly refreshed on screen after deleting the first row in a grid.


    Deleting Active Row

    Deleting the active row in a TreeGrid triggersed the GridRowDeactivet event with an incorrect TListRowDef object. The object refers to grid caption.


    Selection and Keyboard Navigation

    TList must trigger ItemActivate Method AFTER change in selection.

    It was being triggered before change in selection in response to keyboard navigation.


    Selection and Mouse Navigation

    TList did not properly update selection display in response to user clicking with mouse.


    Editing within GridCellActivate

    Initiating editing of grid cell within GridCellActivate event caused a GPF.

    TList.Grid.CellEdit(lRow, lCol) = TLEDITMODE_BEGIN


    AddItem created ItemGrid

    AddItem method incorrectly created ItemGrid(-1) in some situations .



    TList could not return ItemValues (i, "__Tree") for items with the Image property set.

    NOTE: TList7.OCX update 7.0.30 (internal)

    NOTE: TList7.OCX update 7.0.29 (internal)

    TList7.OCX 7.0.28, 05 December 2002
    Change Subject Description


    ItemGrid Display

    ItemGrid Titles were not shown properly when VisualRoot were used and tree lines were not shown.


    Clear after Visual Root

    TList continued to show removed items after calling Clear method if the VisualRoot was set.

    The bug fixed, but: TList help says that the behaviour of Clear method depends from VisualRoot property. It is not so. The behaviour of Clear method does not depend on VisualRoot property.



    ConvertTabsToCols didn't work properly for ItemGrid(-1)

    TList7.OCX 7.0.27, 02 December 2002
    Change Subject Description



    Performance enhancements when changing / reading selection status.



    TList did not support ExpandEX = True for index -1 (expanding the entire tree)


    ItemGrid Presentation

    TList drew items spaced incorrectly. If the last item of ItemGrid( i ) has a subitem TList left a 1 pixel space between that item and the next item.

    TList7.OCX 7.0.26, 22 November 2002
    Change Subject Description


    Speed / Performance Optimization

    Performance for reading selection status of Columns and Grid cells significantly increased


    Grid.SelectedRows.Item(i) accessed incorrect item

    if Grid.SelectedRows.Count was not called before.
    ( This error only occurred in build 7.0.25 )

    TList7.OCX 7.0.25, 15 November 2002
    Change Subject Description


    Speed / Performance Optimization

    Performance for reading selection status of Rows significantly increased

    TList7.OCX 7.0.24, 11 November 2002
    Change Subject Description


    ItemQueryData event problem

    Improper using "SiblingIndex" parameter value (as row index for Item Grid though it is not correct) inside ItemQueryData causes GPF. Now even using incorrect value inside ItemQueryData event handler does not cause GPF, though the parameter of event should be used correctly, see sample code below.

    ------- Incorrect sample code ------
    Private Sub TList1_ItemQueryData(ByVal ItemIndex As Long, ByVal SiblingIndex As Long)
    If SiblingIndex > 0 Then
    TList1.ItemGrid(TList1.ItemParent(ItemIndex)).Cells(SiblingIndex, 1).Value.Value = ItemIndex
    End If
    End Sub

    ------- Correct sample code ------
    Private Sub TList1_ItemQueryData(ByVal ItemIndex As Long, ByVal SiblingIndex As Long)
    If SiblingIndex > 0 Then
    Dim objGrid as TListGrid
    objGrid = TList1.ItemGrid(TList1.ItemParent(ItemIndex))
    objGrid.Cells( objGrid.ItemIndexToRow(SiblingIndex), 1 ).Value.Value = ItemIndex
    End If
    End Sub


    ShiftStep property behavoir

    When ShiftStep property was set = 0 and XOffset property = 0 the control displayed tree differently than previous versions of TList.


    Plus/minus pictures and ShiftStep

    Standard plus/minus signs looked unpresentable if ShiftStep was set to less than 5 pixels.

    TList7.OCX 7.0.23, 07 October 2002
    Change Subject Description



    TList ignored all data types except CF_TEXT with DragDrop operations



    TList.DropTarget always returned -1 in the OleDragOver event



    A problem with redrawing scrollbars. The vertical scroll bar was not always properly removed when no longer needed

    TList7.OCX 7.0.22, 07 October 2002
    Change Subject Description


    Virtual items/rows and selection

    ItemQueryData event was called for every item/row while getting the number of select items/rows.


    Captions for nested grids

    Captions for nested grids were displayed overlapped under some circumstances.


    InsertItem property

    Insertion of new item using InsertItem property broke previous selection.

    Copyrightę 2003 Bennet-Tec Information Systems, Inc. All rights reserved.