HardwareCapabilities Property
HardwareCapabilities Property |
Gets a bit mask that defines the hardware capabilities of the tablet, such as whether a cursor must be in physical contact with the tablet to report its position.
Declaration
[C++]
[propget] HRESULT get_HardwareCapabilities ([out, retval]
TabletHardwareCapabilities* HardwareCapabilities);
[Microsoft® Visual Basic® 6.0]
Public Property Get HardwareCapabilities() As TabletHardwareCapabilities
Property Value
TabletHardwareCapabilities Gets the TabletHardwareCapabilities enumeration type, which defines the hardware capabilities of the tablet.
This property is read-only.
Return Value
HRESULT value | Description |
---|---|
S_OK | Success. |
E_POINTER | The parameter is an invalid pointer. |
E_INK_EXCEPTION | An exception occurred inside the method. |
E_FAIL | An unspecified error occurred. |
Remarks
For a complete list of hardware capability values that you can use, see the TabletHardwareCapabilities enumeration type.
Example
[Visual Basic 6.0]
This Visual Basic 6.0 example reports on the properties in each tablet that are available in the InkTablets collection.
Dim theInkCollector As InkCollector
Private Sub Command1_Click()
Text1.Text = ReportOnEachTablet()
End Sub
Private Sub Form_Load()
Set theInkCollector = New InkCollector
theInkCollector.hWnd = Me.hWnd
theInkCollector.Enabled = True
End Sub
Public Function ReportOnEachTablet() As String
Dim theTablets As InkTablets
Set theTablets = New InkTablets
Dim theReport As String
theReport = vbCrLf
'Iterate over the tablets in the collection,
'reporting on each one.
Dim theTablet As IInkTablet
For Each theTablet In theTablets
theReport = theReport & "Tablet Name: " & theTablet.name & vbCrLf
If theTablets.DefaultTablet.name = theTablet.name Then
theReport = theReport & "(Default)" & vbCrLf
End If
theReport = theReport & "PlugAndPlayId: " & _
theTablet.PlugAndPlayId & vbCrLf
theReport = theReport & "HardwareCapabilities: " & _
theTablet.HardwareCapabilities & vbCrLf
If (theTablet.HardwareCapabilities And _
THWC_CursorMustTouch) <> 0 Then
theReport = theReport & " CursorMustTouch" & vbCrLf
End If
If (theTablet.HardwareCapabilities And _
THWC_CursorsHavePhysicalIds) <> 0 Then
theReport = theReport & " CursorsHavePhysicalIds" & vbCrLf
End If
If (theTablet.HardwareCapabilities And _
THWC_HardProximity) <> 0 Then
theReport = theReport & " HardProximity" & vbCrLf
End If
If (theTablet.HardwareCapabilities And _
THWC_Integrated) <> 0 Then
theReport = theReport & " Integrated" & vbCrLf
End If
On Error Resume Next
theReport = theReport & "MaximumInputRectangle " & _
theTablet.MaximumInputRectangle & vbCrLf
'Report on each supported Packet Property.
theReport = theReport & "IsPacketPropertySupported:" & vbCrLf
theReport = theReport & GetProperty(theTablet, _
AltitudeOrientation, _
"AltitudeOrientation")
theReport = theReport & GetProperty(theTablet, _
AzimuthOrientation, _
"AzimuthOrientation")
theReport = theReport & GetProperty(theTablet, _
ButtonPressure, "ButtonPressure")
theReport = theReport & GetProperty(theTablet, _
NormalPressure, "NormalPressure")
theReport = theReport & GetProperty(theTablet, _
PacketStatus, "PacketStatus")
theReport = theReport & GetProperty(theTablet, _
PitchRotation, "PitchRotation")
theReport = theReport & GetProperty(theTablet, _
RollRotation, "RollRotation")
theReport = theReport & GetProperty(theTablet, _
SerialNumber, "SerialNumber")
theReport = theReport & GetProperty(theTablet, _
TangentPressure, "TangentPressure")
theReport = theReport & GetProperty(theTablet, _
TimerTick, "TimerTick")
theReport = theReport & GetProperty(theTablet, _
TwistOrientation, "TwistOrientation")
theReport = theReport & GetProperty(theTablet, X, "X")
theReport = theReport & GetProperty(theTablet, _
XTiltOrientation, "XTiltOrientation")
theReport = theReport & GetProperty(theTablet, Y, "Y")
theReport = theReport & GetProperty(theTablet, _
YawRotation, "YawRotation")
theReport = theReport & GetProperty(theTablet, _
YTiltOrientation, "YTiltOrientation")
theReport = theReport & GetProperty(theTablet, Z, "Z")
theReport = theReport & vbCrLf
Next
ReportOnEachTablet = theReport
End Function
Public Function GetProperty( _
ByVal theTablet As IInkTablet, _
ByVal theGuid As String, _
ByVal name As String) _
As String
Dim theReport As String
Dim theMin As Long
Dim theMax As Long
Dim theUnits As TabletPropertyMetricUnit
Dim theResolution As Single
' If this particular property is supported,
' report the name and property metrics information.
If theTablet.IsPacketPropertySupported(theGuid) Then
theTablet.GetPropertyMetrics _
theGuid, theMin, theMax, theUnits, theResolution
theReport = " " & name & vbCrLf & _
" Max: " & theMax & vbCrLf & _
" Min: " & theMin & vbCrLf & _
" Resolution: " & theResolution & _
vbCrLf & _
" Units: " & theUnits & vbCrLf
End If
GetProperty = theReport
End Function