|
|
|
|
|
|
TList
|
|
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 |
Enhancement
|
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).
|
Enhancement
|
Modifications property/ Bitmap Transparency
|
A New flag bit Setting has been introduced for the
Modifications Property
flag bit: TL_MOD_FAST_TRANSPARENT_BITMAP
Settings:
- 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.
|
Fix
|
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
|
Fix
|
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
|
Fix
|
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 |
Fix
|
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.
|
Fix
|
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.
|
Fix
|
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.
|
Fix
|
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.
|
Fix
|
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 .
|
Fix
|
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:
Node.Next
Node.Child
Node.FirstSibling
Node.Prev
Node.Parent
Node.LastSibling
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.
|
Fix
|
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.
|
Fix
|
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:
ex:
Set TLTreeView.DropHighlight = objNode
the following TListTreeView properties are updated in order to
draw the tree as MSTreeView:
TLTreeView.TList.SelForeColor
TLTreeView.TList.SelBackColor
objNode.ForeColor
objNode.BackColor
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 |
Fix
|
Multi-Select
|
Dragging the mouse with button depressed over grid captions while in Extended
MultiSelect mode (with MultiSelect = TLMULSEL_EXT) caused an error.
|
Fix
|
Multi-Select
|
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.
|
Fix
|
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.
|
Fix
|
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 |
Fix
|
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 |
Fix
|
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.
|
Fix
|
Sorting
|
The sorting was not working properly, items were added in random order.
|
Fix
|
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 |
Fix
|
Collapsing/Expanding
|
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 |
ENHANCEMENT
|
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)
Description
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 )
Example
TList1.Grid.NonScrollableColumns = 4
Remarks
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
- LICENSE NOTE -
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 " .
|
Fix
|
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).
|
Fix
|
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.
|
Fix
|
TListNode.Prev after DragDrop
|
Reading the .Prev of a TList node object after moving the node using drag Drop
caused error in some situations.
|
Fix
|
Delphi 7 Environment Compatibility
|
A conflict between Delphi 7 and the MousePointer and MouseIcon properties had
potential for causing a GPF.
|
Fix
|
VScroll / HScroll Events
|
The "Pos" parameter was set to an incorrect value inside VScroll event and
HScroll event parameter.
|
Fix
|
TDesigner - ScrollBars
|
Scrollbars were not correctly drawn within TDesigner utility after adding new
outside the visible items range.
|
Fix
|
"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 |
ENHANCEMENT
|
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.
|
ENHANCEMENT
|
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.
|
Fix
|
Combobox in-place editor and Modifications property
|
Some flags of the Modifications property were ignored when combobox in-place
editor was displayed.
|
Fix
|
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 |
Fix
|
Modifications property flag
|
Grid captions became selectable if TL_MOD_INGNORE_SELECTABLE_PROP flag was set
for Modifications property.
|
Fix
|
ActivationMode property
|
ActivationMode could not be set to default value (TL_ACTIVMODE_ITEM)
|
Fix
|
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 |
ENHANCEMENT
|
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.
|
ENHANCEMENT
|
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.
|
ENHANCEMENT
|
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.
|
ENHANCEMENT
|
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.
|
ENHANCEMENT
|
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 .
|
ENHANCMENT
|
CurrentParent property
|
The CurrentParent property now supports the embedded string "\.." as in DOS,
as pointing to a higher level node.
Example: for following tree
+item1
-item2
|--item3
| |--item4
---
TList1.CurrentParent = "\item2\item3\item4\.."
---
In this case TList sets 'item3' as the current parent.
|
Fix
|
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).
|
Fix
|
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.
|
Fix
|
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.
|
Fix
|
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.
|
Fix
|
Drag/drop problem
|
An internal application error could have occurred when items were dragged over
the client area and following properties values were applied:
---
TList1.MultiSelect = TLMULSEL_EXPLORER_LIKE TList1.OLEDragMode =
TLOLEDRAG_AUTOMATIC
---
.
|
|
TList7.OCX 7.0.42, 13 October
2003 |
|
Change |
Subject |
Description |
ENHANCEMENT
|
|
A new sample for Borland C++ Builder 6.0 was added to the installation kit.
|
Fix
|
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).
|
Fix
|
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.
|
Fix
|
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.
|
Fix
|
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.
|
Fix
|
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.
|
Fix
|
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.
|
Fix
|
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.
|
Fix
|
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).
|
Fix
|
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 |
Enhancement
|
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.
|
Fix
|
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.
|
Fix
|
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.
|
Fix
|
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".
|
Fix
|
DragHiLight property problem
|
Design-time settings for DragHiLight property was ignored. At run-time TList
reset it to 1.
|
Fix
|
[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.
|
Fix
|
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).
|
Fix
|
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.
|
Fix
|
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.
|
Fix
|
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 |
Fix
|
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 |
Enhancement
|
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
TL_MOD_ALWAYS_USE_INVSTYLE ' ( = &H2000)
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.
|
Enhancement
|
Printing
|
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.
|
Fix
|
TList DragDrop Highlighting
|
In some rare cases two items were simultaneously highlighted as drop targets
during AutoDragDrop operations.
|
Fix
|
Printing TreeGrid
|
TList did not properly print the left and top border lines in a TreeGrid when
using default printer settings.
|
Fix
|
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.
|
Fix
|
GPF in Virtual TreeGrid
|
Adding Virtual children to a Virtual Item within a TreeGrid structure had
caused a GPF.
|
Fix
|
Editing
|
TList behaved improperly when editing was recursively started by initiating
editing within the GridCellRequestEditing event
|
Fix
|
Editing
|
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 |
Enhancement
|
Currency support
|
TList now treats Currency as a numeric data type for the purposes of sorting
and for use with Format property.
|
Enhancement
|
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.
|
Fix
|
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)
|
Fix
|
Sorting
|
The Sorting Style property was not applied to new items added after the
setting of the property.
|
Fix
|
MultiSelection
|
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.
|
Fix
|
Grid Cell Borders
|
-
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
-
Setting the TL_GRIDBRD_BORDER flag in the TList.Grid.BorderStyle property did
not properly draw the Left border
|
Fix
|
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.
|
Fix
|
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 |
Enhancement
|
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
Example:
' 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 = _
TLTEXTBOX_OPT_AUTOWIDTH OR TLTEXTBOX_OPT_AUTOHEIGHT
_
OR TLTEXTBOX_OPT_STDCOLORS OR
TLTEXTBOX_OPT_BORDER _
OR TLTEXTBOX_OPT_VSCROLLER OR
TLTEXTBOX_OPT_FULLRECT
' 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.HeightScale = TLTEXTBOX_SCALE_LINES
.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.
|
Enhancement
|
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.
|
Fix
|
Sorting / Scrolling
|
TList had incorrectly scrolled under some circumstances when sorting was
initiated.
|
Fix
|
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 |
Enhancement
|
Documentation
|
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)
|
Enhancement
|
FindValue
|
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.
|
Fix
|
AutoDragDrop
|
TList dropped a dragged item to the wrong position if there were collapsed
items with children above in the tree.
|
Fix
|
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.
|
Fix
|
Printing cells with non-zero margins
|
Trees with non-zero values for CellDef.MarginLeft and CellDef.MarginRight were
incorrectly printed - the margins were incorrect.
|
Fix
|
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 |
Fix
|
Refresh Method
|
Calling the Refresh method incorrectly reset ListIndex to -1.
|
Fix
|
ItemHeight
|
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)
|
Fix
|
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.
|
Fix
|
RowHeader after deleting Row
|
The Row Header column was not correctly refreshed on screen after deleting the
first row in a grid.
|
Fix
|
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.
|
Fix
|
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.
|
Fix
|
Selection and Mouse Navigation
|
TList did not properly update selection display in response to user clicking
with mouse.
|
Fix
|
Editing within GridCellActivate
|
Initiating editing of grid cell within GridCellActivate event caused a GPF.
TList.Grid.CellEdit(lRow, lCol) = TLEDITMODE_BEGIN
|
Fix
|
AddItem created ItemGrid
|
AddItem method incorrectly created ItemGrid(-1) in some situations .
|
Fix
|
ItemValues
|
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 |
Fix
|
ItemGrid Display
|
ItemGrid Titles were not shown properly when VisualRoot were used and tree
lines were not shown.
|
Fix
|
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.
|
Fix
|
ConvertTabsToCols
|
ConvertTabsToCols didn't work properly for ItemGrid(-1)
|
|
TList7.OCX 7.0.27, 02 December 2002 |
|
Change |
Subject |
Description |
Enhancment
|
Performance
|
Performance enhancements when changing / reading selection status.
|
Fix
|
ExpandEx
|
TList did not support ExpandEX = True for index -1 (expanding the entire
tree)
|
Fix
|
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 |
Enhancement
|
Speed / Performance Optimization
|
Performance for reading selection status of Columns and Grid cells
significantly increased
|
Fix
|
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 |
Enhancement
|
Speed / Performance Optimization
|
Performance for reading selection status of Rows significantly
increased
|
|
TList7.OCX 7.0.24, 11 November 2002 |
|
Change |
Subject |
Description |
Fix
|
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
|
Fix
|
ShiftStep property behavoir
|
When ShiftStep property was set = 0 and XOffset property = 0 the control
displayed tree differently than previous versions of TList.
|
Enhancement
|
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 |
Fix
|
Drag/Drop
|
TList ignored all data types except CF_TEXT with DragDrop operations
|
Fix
|
Drag/Drop
|
TList.DropTarget always returned -1 in the OleDragOver event
|
Fix
|
Scrollbars
|
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 |
Fix
|
Virtual items/rows and selection
|
ItemQueryData event was called for every item/row while getting the number of
select items/rows.
|
Fix
|
Captions for nested grids
|
Captions for nested grids were displayed overlapped under some
circumstances.
|
Fix
|
InsertItem property
|
Insertion of new item using InsertItem property broke previous
selection.
|
|
|