===================================================================================
VSFlexGrid Pro Build # 6.0.0.36		9 Apr 1999
===================================================================================
================================================
UNDOCUMENTED PROPERTIES (CUMULATIVE)	9 Apr 1999
================================================

ShowComboButton Property

	Returns or sets whether drop-down buttons are shown when 
	editable cells are selected.

Syntax     
	[form!]vsFlexGrid.ShowComboButton[ = {True | False} ]

Remarks    
	If the ShowComboButton property is set to True, VSFlexGrid will 
	display drop-down buttons automatically when cells with 
	associated combo boxes or drop-down lists are selected. The 
	user may edit the cells directly, by clicking the button with 
	the mouse.

	If the ShowComboButton property is set to False, the drop-downs 
	will only appear when the control enters edit mode (either as a 
	result of keyboard action or when the EditCell method is used.

	You should only set this property to False if the grid columns 
	are narrow and you don't want the drop-down buttons to obscure 
	cell contents while not editing.


Data Type	Boolean
Default Value	True


Here are additional the error codes that can be fired by the control:

Name                    Code    Description
----------------------- ------- ------------------------------------------------------
ERR_MEMORY		7       Can't allocate memory for new cols/rows
ERR_FILENOTFOUND	53      Can't open data file (Archive/SaveGrid/LoadGrid)
ERR_BADDATAFILE		321     Can't read file from archive
ERR_BADVALUE		380     Can't set property to this value
ERR_SUBSCRIPT		381     Invalid subscript

ERR_CANTWHENBOUND	1000    Invalid action when bound to DB/array
ERR_DBCANTDELETEROW	1001    DB refused to delete row
ERR_DBCANTADDROW	1002    DB refused to add row
*ERR_DBCANTUPDATE	1003    DB refused to update data
*ERR_DBBADVALUE		1004    DB refused the value provided (bad type/integrity)

ERR_CANTINBROWSER	1005    Can't perform this action when hosted by browser

================================================
VC++ DEMO FILE				9 Apr 1999
================================================

An all new VC++ demo has been added. To use VSFlexGrid 6.0 with 
C++, you should refer to the BigDemo C++ sample that is 
installed in the Samples\CDemo directory. The sample includes a 
header file (flex6ec.h) that defines symbolic constants for the 
control's enumerated properties. The sample also includes a 
pair of files (Flexutil.cpp and Flexutil.h) that implement 
useful classes and functions for handling unit conversions 
(twips/pixels), HTML rendering, and OLE drag drop utilities.

================================================
CORRECTED PROBLEMS                      9 Apr 1999
================================================
Added Unicode version (VSFlex6U.ocx, new guids etc.)

Fixed problem with resize cursor with DoEvents. 

The WM_GETDLGCODE in VC++ no longer prohibits editing.

You may now resize columns without scrollbars without causing the grid to scroll

When DAO bound, you may now add subtotals.

There is no longer any problem detecting clicks on the last column when ExtendLastCol = True and last col was hidden.

ADO DataBinding is not dependent upon bookmarks. 

Checkboxes on fixed rows are supported.

You may now set cells to "+" or "-" when bound to an array.

MouseRow and MouseCol now return -1 if the mouse is not over the sheet.

MouseRow/Col behavior is improved when between fixed cells.

OleDragDrop has been improved.

VJ++ supports TabBehavior = tabControls. 

ADO binding now preserves OriginalData when the recordset is in batch mode (rs.LockType == adLockBatchOptimistic).

To improve control over this,  two new settings have been added to the DataMode property:

	- flexDMBound
	  Automatic mode. Grid edits are immediately committed to the database if rs.LockType <> 	  adLockBatchOptimistic. This is the behavior of the Microsoft DataGrid control.

	- flexDMBoundBatch
	  Forced batch (transacted) mode. Grid edits are not committed to the recordset until 		  user calls rs.UpdateBatch. Changes may be reversed by calling rs.CancelBatch.
	  Note that the user should call rs.UpdateBatch at some point, or the edits will be lost 	  when the recordset is closed.
	  (OriginalValue <> Value)

	- flexDMBoundImmediate
	  Forced immediate mode. All grid edits are immediately committed to the recordset.
	  (OriginalValue = Value)

DAO version no longer has problems when reading last DB record.

Added fast OLEDB code, a great speed improvement,
			
Improved currency formatting: ColFormat recognizes "Currency" format.

Added multi-chararacter currency symbols, positioned before or after the value and with or without padding spaces. Currency formatting is set using the control panel.

ColComboList now recognizes '*', which is used to define default field.

Added support for custom clipboard formats. Need to handle the OLEDragOver event, query the Data object for the custom format, and set the Effect parameter if the desired format is available.
See DragDrop sample for details. 

  Private Sub vsFlexGrid1_OLEDragOver(...)
     ' by default, the grid only accepts text and files.
     ' set Effect to vbDropEffectCopy to accept the format.
     If Data.GetFormat(intCustomClipboardFormat) = True Then
        Effect = vbDropEffectCopy
     End If
  End Sub

Reduced flicker with MergeCell selection.

Loading text files with quotation marks.

You may now click in the background with Rows = 0 and ListBox selection.

Memo fields load in OLEDB version.

Hyperlink fields load in OLEDB version.

Added support for PrintForm method.

Sort by formatted text when using ComboList dictionaries.

Added support for international characters in masked editing.

RenderControl no longer overflows at borders when merging.

Resizing merged headers supported.

AutoSearch with FixedRows = 0 now wraps properly.

ComboButton display within merged ranges.

IPerPropertyBrowsing has been added to allow the loading of DAO in C++ 5.0 

RenderControl no longer gets into an infinite loop with tall rows. 

Very long clip strings no longer fail

Improved the FindRow Property:
            FindRow now recognizes a couple of switches to allow partial and
            case-insensitive searches:
            - if the target string ends with "{*}" partial matches are OK
            - if the target string ends with "{^}" the search is case-insensitive
            - combine both switches using "{^*}" or "{*^}".
            For example:
                
            fa.TextMatrix(50,1) = "Banana"
            Debug.Print FindRow("BANA",      0, 1) ' exact match               (fail)
            Debug.Print FindRow("BANA{*}",   0, 1) ' partial, case-sensitive   (fail)
            Debug.Print FindRow("BANA{*^}",  0, 1) ' partial, case-insensitive (found)
            Debug.Print FindRow("Bana{*}",   0, 1) ' partial, case-sensitive   (found)
            Debug.Print FindRow("baNAna{^}", 0, 1) ' full, case-insensitive    (found)

            results in
            -1
            -1
            50
            50
            50


Fixed subtle database problem: in virtual unbound mode, reading 
batches of records from the DB would update the grid directly,
even when they were db-clean. This could cause the overwriting of user modifications.

SetRows/SetCols when free bound is more efficient now

Fixed outline bar so that is resizes with contents.

Outline buttons and clipping pictures remedied with  RenderControl.

Fixed FlexString sizing problem (OLEDB only)

Fixed painting problem when rendering right-aligned text to printer. 


================================================
WARNINGS AND CAVEATS (CUMULATIVE)	9 Apr 1999
================================================

Change of behavior in build 36:

In versions prior to 6.0.0.36, the MouseRow/MouseCol returned the number of the last row/col when the mouse pointer was over the sheet background. In response to user requests, MouseRow/MouseCol now returns -1 when the pointer is not over any rows/cols.


================================================
WAIVERS (Cummulative)			9 Apr 1999 	
================================================
Light FloodColors are shown as white or gray.
Waiver:  To use light (non-solid) flooding colors, you have to have screen colors set to more than 256 colors.


================================================
KNOWN PROBLEMS (Cummulative)	              9 Apr 1999
================================================
Select followed by SendKeys causes loss of NumLock.
Cause:          A Windows problem.
Circumvention:  Insert DoEvents between Select and SendKeys.

Focus on a flex causes the Form_KeyDown event fire twice.
If an MDI child contains only one flex, clicking on it will not bring the child form
into foreground.
Cause:          A Windows problem.
Circumvention:  Place one native VB control (such as button) on the form and make sure that its TabOrder is lower than TabOrder of the flex.

Validate and AfterEdit events do not fire if form is unloaded by clicking on the control box.
Cause:          This is a Windows API problem.
Circumvention:  To make sure that these events are fired, if applicable, begin the Form_Unload event with the following two lines:
		   Me.SetFocus
		   DoEvents

AutosizeRowHeight with WordWrap = True may be incorrect.
Cause:		This is a Windows API problem.
Circumvention:  This happens if the contents of any of the rows are wider than the column, for example, a very long word in a narrow column.  Make sure that the width of the column is sufficient to accommodate the widest word (depends on the font).  Allow the user resizing of row heights.

After changing the DataMode, control may load wrong number of rows.
Cause:		Incorrect recordset passed by the Jet Engine.
Circumvention:	After changing DataMode, apply Refresh to the data control.


================================================
End of entries for build # 6.0.0.36	9 Apr 1999
================================================


===================================================================================
VSFlexGrid Pro Build # 6.0.0.26		29 Dec 1998  
===================================================================================

================================================
CORRECTED PROBLEMS			29 Dec 1998
================================================
When AutoSearch failed, it removed the last character from the search buffer. Now, it clears the buffer and restarts the search with the last character. 
Parameters in OleDragDrop (Button, Shift) methods were incorrect when dropping files into the control. (needed GetAsyncKeyState)
GetHeaderRow was not discounting the fixed rows. 
Fixed repainting problem under NT.

================================================
End of entries for build # 6.0.26	29 Dec 1998
================================================


===================================================================================
VSFlexGrid Pro Build # 6.0.0.25 	10 Dec 1998 
===================================================================================
================================================
CORRECTED PROBLEMS			10 Dec 1998
================================================
VSFlexGrid honors ADO's refusal to move the cursor.
Changing the ColComboList from within EditChange event is now supported.
The differences between VSFlexGrid's ColFormat and Visual Basic's Format function has been resolved.

================================================
End of entries for build # 6.0.0.25	10 Dec 1998 
================================================


===================================================================================
VSFlexGrid Pro Build # 6.0.0.24		8 Dec 1998  
===================================================================================

================================================
CORRECTED PROBLEMS			8 Dec 1998
================================================
The RowColChange now fires when clicking tool box and the Merge function is enabled.
Visual Basic no longer pops the object inspector after validation fails while in Break Mode
Painting has been corrected when the selection is by Row and RightToLeft is True
FocusRect is now drawn in the correct color.  

================================================
End of entries for build # 6.0.0.24	8 Dec 1998 
================================================



===================================================================================
VSFlexGrid Pro Build # 6.0.0.23		23 Nov 98
===================================================================================

================================================
CORRECTED PROBLEMS			23 Nov 98
================================================
OwnerDraw no longer skips over empty cells
OLE drag drop events no longer pass bad data parameters in C++


================================================
End of entries for build #  6.0.0.23 	23 Nov 98
================================================


===================================================================================
VSFlexGrid pro Build # 6.0.0.22 	22 Nov 98
===================================================================================

================================================
CORRECTED PROBLEMS                     22 Nov 98
================================================
Increased edit mask's max length: from 200 to 1024.

Dropdown list is now displayed with Alt-Down Arrow.

Dropdown button refreshes after setting ComboList property.

Dropdown button no longer behaves like a popup menu when ComboList and ColComboList are set.

ComboList maintains its size even after scrolling it out of view and back.

ComboIndex maintains changes when the list is closed.

Can now edit EditMaxLength when equal to Len(EditMask).

SaveGrid/LoadGrid will fire errors when a file is locked or not found.

Problems no longer occur with "<" and ">" in EditMask (set EditMask to ">&", type "a", get ">").

================================================
End of entries for build # 6.0.0.22 	22 Nov 98
================================================


===================================================================================
VSFlexGrid Pro  Build # 6.0.0.20	20 Nov 98
===================================================================================

================================================
CORRECTED PROBLEMS                     20 Nov 98
================================================

We have removed the Web button from the about box in order to remove the dependency on Shell32.dll

Assigning variants to "Data" properties now de-references them first

VSFlex now effectively handles the sorting of international characters 

Changes to RowHeight, ColWidth properties. Because of the new features in VSFlex6 (RowHeightMax/Min/Hidden, ColWidthMax/Min/Hidden), the semantics for these properties have changed a bit. Here are the new rules:

RowHeight/ColWidth return the internal value stored by setting these properties with code. These may be different from the display values in the following cases:     

              a) The column (or row) is hidden, in which case the display value is zero.
              b) The column is the last visible column and the ExtendLastCol property is set to True.
              c) The internal value is overridden by the RowHeightMin, RowHeightMax ColWidthMin, or ColWidthMax properties.

 * You may adjust for these factors if you want to, by writing code such as:

          Function VisibleColWidth(i)

               ' hidden, easy case
                 If fg.ColHidden(i) Then
                     VisibleColWidth = 0
                     Exit Function
                 End If

                 ' adjust for limits
                   Dim wid
                   wid = fg.ColWidth(i)
                   If fg.ColWidthMax > 0 And wid > fg.ColWidthMax Then
                      wid = fg.ColWidthMax
                   End If
                   If fg.ColWidthMin > 0 And wid < fg.ColWidthMin Then
                      wid = fg.ColWidthMin
                   End If

                 ' adjust for ExtendLastCol
                   If i = fg.Cols - 1 Then
                      wid = fg.ClientWidth - fg.ColPos(i)
                   End If
                  
                 ' done
                   VisibleColWidth = wid

               End Function

The RowPos and ColPos properties can also be used to determine where a row or column is. These properties return the actual display position of each column (left) and row (top). The sample routine above uses ColPos.

The ClientWidth and ClientHeight properties return the size of the control's client area (excluding border and scrollbars). These values are always smaller than or equal to the stock Width and Height properties.

CellLeft/CellTop/CellWidth/CellHeight: These properties return the actual display dimensions for the *current* cell, taking into account all the above factors plus any cell merging that may be in effect. By the way, these properties also bring the current cell into view. The control assumes you are reading these properties in order to pop up a custom cell editor that you want to display over the active cell.

Finally, you may use the Cell property with the (new) constants flexcpLeft, flexcpTop, flexcpWidth, and flexcpHeight to get the display position and dimensions for an arbitrary cell. Note that the values you obtain with each method may differ by a few twips because of rounding off errors (the dimensions are stored internally as pixels). If this occurs, the differences will be smaller than the value of Screen.TwipsPerPixelX/Y.


================================================
End of entries for build # 6.0.0.20	20 Nov 98
================================================


===================================================================================
VSFlexGrid Pro	Build # 6.0.0.19	14 Nov 98
===================================================================================

================================================
CORRECTED PROBLEMS                     14 Nov 98
================================================
VSFlexGrid now features full support for J++ 

Added Flex6ec.h (enumeration constants) file to distribution package

Safer data binding with memo fields:
       try with memo fields (seems OK with data env, controls)
       if failed, (happens with Dim rs...), try without memos
       if failed, return error.

There is more flexibility handling Cell(Picture, Font), which accepts variants

Now updates the first row/col on DB 

The Shift/Enter now wraps lines in editor

Child control's BackColor now honored

ScrollTip still visible even if the user drags the cursor beyond the window

================================================
End of entries for build # 6.0.0.19	14 Nov 98
================================================


===================================================================================
VSFlexGrid Build # 6.0.0.18	28 Oct 98
===================================================================================

================================================
CORRECTED PROBLEMS                     28 Oct 98
================================================
The True value of -1 is now returned for all Boolean properties 

================================================
End of entries for build # 6.0.0.18	28 Oct 98
================================================


===================================================================================
VSFlexGrid Pro Build # 6.0.0.17		27 Oct 98
===================================================================================

================================================
CORRECTED PROBLEMS                     27 Oct 98
================================================
If focus is lost while button is down, the mouse capture is now released
 
================================================
End of entries for build #  # 6.0.0.17	27 Oct 98
================================================


===================================================================================
VSFlexGrid Build # 6.0.0.16	20 Oct 98
===================================================================================


================================================
CORRECTED PROBLEMS                    20 Oct 98
================================================
If no rows have been selected with the SelectionMode set to ListBox, the  OleDrag method no longer crashes VB

Flex now honors the international setting for "Short/Long Date" 

You may now assign CellPicture to picture property

Cells will now merge when bound to array

FindRow looks for cell contents and for RowData (when Col=-1)


================================================
End of entries for build # 6.0.0.16	20 Oct 98
================================================

===================================================================================
VSFlexGrid Pro Build # 6.0.0.15 	16 Oct 98
===================================================================================

================================================
CORRECTED PROBLEMS                     16 Oct 98
================================================
The DAO resource leak, which was due to buggy changes to ATL code, has been fixed

The defaults for ColFormat for currency fields in ADO has been fixed 

Comboboxes with dictionaries now accept text that is not on the combobox list

Bound arrays now accept boolean values in columns 

Extended selections have improved cursor key behavior

Merged cells now feature improved RenderControl

Writing in cells has been enabled while bound to ADO database

New support for returning embedded text files with the Save/Load function

Corrected handling of Enter and Esc keys with Default/Cancel controls

Corrected TabBehavior property 

================================================
End of entries for build #  6.0.0.15 	16 Oct 98
================================================



====================================
VSFlexGrid Pro 6.0.0.14 			
====================================

================================================
CORRECTED PROBLEMS                     	
================================================
Made EditText read/write during ValidateEdit

Avoid double-fire of key events when KeyPreview = True 

Made Tab key work in UserControl 

Made edit combos work with right-aligned entries

SelectionMode - ListBox

Fixed ADO error when dynamically switching Data Sources

Support for hierarchical (chaptered) ADO recordsets 

Fixed editing problem in VC++

Fixed subtotal problems with negative numbers

Fixed merging cell with fixed cols

ESCAPE key didn't close editor (just removed focus)

AutoSize with Equal parameter was fixed

CR/LF appended when WordWrap = True and Dialog popped in AfterEdit.

MouseMove event did not fire over the OutlineBar.

Flex6 confused when there's text and data on an OLE drop operation

Flex6 did not honor default/cancel buttons on form

Fixed issue when setting Row parameter to an invalid value in AfterEdit event

Fixed repainting problem when ExtendLastCol is true and last col is hidden

KeyDown/KeyUp not firing for system keys

Memo fields not displayed in OLEDB mode

Can edit strings of unlimited length


