Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det här programmet visar hur du kan skapa ett program för handskriftsigenkänning. Windows Vista SDK innehåller även versioner av det här exemplet i C# och Visual Basic .NET. Det här avsnittet refererar till Visual Basic .NET-exemplet, men begreppen är desamma mellan olika versioner.
Få åtkomst till Tablet PC-gränssnitt
Börja med att referera till Tablet PC-API:et, som installeras med SDK:n.
' The Ink namespace, which contains the Tablet PC Platform API
Imports Microsoft.Ink
Initiera InkCollector
Exemplet lägger till kod i formulärets Load händelsehanterare som används för att associera InkCollector, myInkCollector, med grupprutans fönster och aktivera InkCollector.
Private Sub InkRecognition_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Create the recognizers collection
myRecognizers = New Recognizers()
' Create an ink collector that uses the group box handle
myInkCollector = New InkCollector(gbInkArea.Handle)
' Turn the ink collector on
myInkCollector.Enabled = True
End Sub
Identifiera slagen
Button objektets Klick händelsehanterare kontrollerar att användaren har minst en igenkännare installerad genom att undersöka egenskapen Count för samlingen Recognizers.
Egenskapen SelectedText i textrutan är inställd på den bästa matchningen för linjerna med hjälp av metoden ToString i Strokes-samlingen. När markeringarna har identifierats tas de bort. Slutligen tvingar koden området att ritas om och rensar det för fortsatt bläckanvändning.
Private Sub btnRecognize_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRecognize.Click
' Check to ensure that the user has at least one recognizer installed
' Note that this is a preventive check - otherwise, an exception
' occurs during recognition
If 0 = myRecognizers.Count Then
MessageBox.Show("There are no handwriting recognizers installed. You need to have at least one in order to run this sample.")
Else
' ...
txtResults.SelectedText = myInkCollector.Ink.Strokes.ToString
' If the mouse is pressed, do not perform the recognition -
' this prevents deleting a stroke that is still being drawn
If Not myInkCollector.CollectingInk Then
' Delete the ink from the ink collector
myInkCollector.Ink.DeleteStrokes(myInkCollector.Ink.Strokes)
' Force the Frame to redraw (so the deleted ink goes away)
gbInkArea.Refresh()
End If
End If
End Sub
Stänga formuläret
Formulärets metod Dispose tar bort objektet InkCollector.