Article ID: 177628
Article Last Modified on 7/13/2004
0 - Unchecked
1 - Checked
2 - Gray
Command1
(Name): cmdUnChecked
Caption: No
Command2
(Name): cmdChecked
Caption: Yes
Command3
(Name): cmdGray
Caption: Maybe
Command4
(Name): cmdInvalid
Caption: Invalid
Option Explicit
Private CurrentValue As OLE_TRISTATE
Public Property Get YesNoMaybe() As OLE_TRISTATE
'Retrieve the current value of the YesNoMaybe property
YesNoMaybe = CurrentValue
End Property
Public Property Let YesNoMaybe(ByVal NewValue As OLE_TRISTATE)
'Because Visual Basic does not check for valid values assigned to
'an enumerated type, such as OLE_TRISTATE, you must first check
'for values outside the range of 0-2.
If NewValue > 2 or NewValue < 0 Then
Msgbox "Invalid Value: Valid Values are 0, 1, or 2."
Exit Property
End If
CurrentValue = NewValue
PropertyChanged "YesNoMaybe"
End Property
Private Sub cmdUnChecked_Click()
Me.YesNoMaybe = UnChecked
Check1.Value = Me.YesNoMaybe
End Sub
Private Sub cmdChecked_Click()
Me.YesNoMaybe = Checked
Check1.Value = Me.YesNoMaybe
End Sub
Private Sub cmdGray_Click()
Me.YesNoMaybe = Gray
Check1.Value = Me.YesNoMaybe
End Sub
Private Sub cmdInvalid_Click()
Me.YesNoMaybe = 3
Check1.Value = Me.YesNoMaybe
End Sub
Keywords: kbhowto KB177628