ID Number: Q83760
1.00
WINDOWS
buglist1.00
Summary:
The group push button that is part of the THREED.VBX custom control
may at times allow more than one button down at once. This is a
painting problem with the control. The internal state of the button is
correctly maintained.
Microsoft has confirmed this to be a problem with the 3-D Group Push
Button custom control supplied with Microsoft Professional Toolkit for
Microsoft Visual Basic programming system version 1.0 for Windows. We
are researching this problem and will post new information here as it
becomes available.
More Information:
The multistate 3-D Group Push Button is designed for creating grouped
push buttons such as the standard Visual Basic option and check boxes.
You can specify a group of push buttons so that only one button can be
in the depressed mode at once. However, there are instances where more
than one button can be in the depressed state at once.
Steps to Reproduce Problem
--------------------------
1. Run Visual Basic, or from the File menu, choose New Project (ALT,
F, N) if Visual Basic is already running. Form1 is created by
default.
2. From the File menu, choose Add File. In the Files box, select the
THREED.VBX custom control file. The 3-D tools appear in the
Toolbox.
3. Place the following controls on Form1:
Control Control Name Properties
------- ------------ ----------
Group Push GroupPush3D1 Index = 0 'Create a
Group Push GroupPush3D1 Index = 1 'control array
Group Push GroupPush3D1 Index = 2 'with six elements.
Group Push GroupPush3D1 Index = 3
Group Push GroupPush3D1 Index = 4
Group Push GroupPush3D1 Index = 5
Label Label1 Index = 0 'Create a
Label Label1 Index = 1 'control array
Label Label1 Index = 2 'with six elements.
Label Label1 Index = 3
Label Label1 Index = 4
Label Label1 Index = 5
4. Add the following code to your program. (Note that some of the
following lines of code that are displayed on two lines should
actually be one line.)
Sub Form_Load ()
'* This will set the controls on the form in a convenient manner.
Show
For i = 0 To 2
GroupPush3D1(i).Move Offset, 0, 500, 500
Offset = GroupPush3D1(i).Left + 'This line and
GroupPush3D1(i).Width 'this line should be one line.
Next i
LowOffset = GroupPush3D1(0).Top + 'This line and
GroupPush3D1(0).Height 'this line should be one line.
Offset = 0
For i = 3 To 5
GroupPush3D1(i).Move Offset, LowOffset, 500, 500
Offset = GroupPush3D1(i).Left + 'This line and
GroupPush3D1(i).Width 'this line should be one line.
Next i
Offset = 0
For i = 0 To 5
Label1(i).Move 2000, Offset, 1000, 200
Offset = Label1(i).Top + Label1(i).Height
Next i
End Sub
Sub GroupPush3D1_Click (Index As Integer, Value As
Integer)
'* Update the caption of the labels to reflect the
'* value of the GroupPush3D1 programmatically.
For i = 0 To 5
Label1(i).Caption = "Button" + Str$(i) +
Str$(GroupPush3D1(i).Value)
Next i
End Sub
5. Press F5 to run the program. Quickly click between the six buttons
many times.
This will lead to a state where more than one button can be in the
depressed mode. The 3-D Group Push Buttons should not allow this.
Although more than one button can be in the depressed state at once,
the button's internal Value property is always correct.
Additional reference words: 1.00