ID Number: Q80904
1.00
WINDOWS
Summary:
With the Microsoft Professional Toolkit for Visual Basic Grid control,
when you use the Str$ function to store numeric values in a grid cell,
the cell appears blank if it is not wide enough to completely display
the value.
This behavior occurs because of word wrapping. The Str$ function
returns a string that begins with a space character. When this string
does not fit in a grid cell, it wraps to the next line, breaking on
the leading space so that no text remains on the first line of the
cell.
This information applies to Microsoft Visual Basic programming system
version 1.0 for Windows and to Microsoft Professional Toolkit for
Microsoft Visual Basic 1.0 for Windows.
More Information:
Workaround
----------
To avoid this problem, use Format$ instead of Str$, or Ltrim$ with
Str$.
Steps to Reproduce Problem
--------------------------
1. Run Visual Basic or, if Visual Basic is already running, choose New
Project from the File menu (ALT, F, N). Form1 will be created by
default.
2. From the File menu, choose Add File, and select GRID.VBX to add the
Grid tool. The Grid tool appears in the Toolbox.
3. Place a grid named Grid1 on Form1.
4. Set the grid properties Cols and Rows each to 4.
5. Size the grid so that you can see all the cells.
6. Enter the following code. (To enter the code, double-click on
Grid1, select Click in the Procedure box, and enter the code into
the code template.)
Sub Grid1_Click ()
Grid1.Text = Str$(123456)
Debug.Print Grid1.Text
End Sub
7. Press F5 to run the program.
8. Each time you click on a cell in Grid1, this code prints "123456"
in the Immediate window, but the cell remains blank.
To work around this problem, change the assignment to Grid1.Text to
one of the following:
Grid1.Text = Format$(123456)
-or-
Grid1.Text = Ltrim$(Str$(123456))
This will eliminate the leading space, and the information in the cell
will be displayed up to the width of the cell. You can also increase
the width of the cell to allow all characters to be visible.
Additional reference words: 1.00