HRESULT IsStringSupported ( [in] BSTR s, [out, retval] VARIANT_BOOL *Supported );
[Microsoft® Visual Basic® 6.0]
Public Function IsStringSupported( _ s As String _ ) As Boolean
[in] The string to look up in the dictionaries and word list.
For more information about the BSTR data type, see Using the Automation Library.
[out] Returns TRUE if the string is in the dictionary or word list; otherwise FALSE.
|S_OK||One of the dictionaries contains the string.|
|E_POINTER||A parameter contained an invalid pointer.|
|E_INVALIDARG||Invalid input string.|
|E_INK_EXCEPTION||An exception occurred while processing.|
|E_OUTOFMEMORY||Cannot allocate memory operation.|
|E_UNEXPECTED||Unexpected parameter or property type.|
This method considers all flags and factoids, among other things, that give context to the string that is being tested.
This method does not search the user dictionary if you specify a word list for the context. The recognizer uses the speech dictionary in Microsoft Office XP.
Use the Factoid property to limit the search to the system dictionary or the word list that is associated with the context. For example, to limit the search to the system dictionary, specify the SystemDictionary factoid. To improve the results, you may also need to set the RecognitionFlags property.
[Visual Basic 6.0]
This Visual Basic 6.0 example adds a string to the InkWordList that is used by the InkRecognizerContext object. It uses a command button, Command1, and a text box, Text1, on a standard Windows Forms application which has the Microsoft Tablet PC Type Library added as a reference. When the command button is pressed, the ink on the form is recognized, and IsStringSupported is called to report if the top result string is supported by the recognizer context.
Option Explicit Dim theInkCollector As InkCollector Dim theRecognizerContext As New InkRecognizerContext Dim theWordlist As New InkWordList Private Sub Form_Load() Set theInkCollector = New InkCollector theInkCollector.hWnd = Me.hWnd theInkCollector.Enabled = True theWordlist.AddWord "XYZZY" Set theRecognizerContext.WordList = theWordlist End Sub Private Sub Command1_Click() Set theRecognizerContext.Strokes = theInkCollector.Ink.Strokes Dim theRecognitionStatus As InkRecognitionStatus Dim theRecognitionResult As IInkRecognitionResult On Error Resume Next Set theRecognitionResult = theRecognizerContext.Recognize(theRecognitionStatus) If InkRecognitionStatus.IRS_NoError = theRecognitionStatus Then If theRecognizerContext.IsStringSupported(theRecognitionResult.TopString) Then Text1.Text = theRecognitionResult.TopString & " is supported." Else Text1.Text = theRecognitionResult.TopString & " is not supported." End If Else 'Handle the error conditions here. Text1.Text = "" End If End Sub