ConfirmationType (Enumeración)
Actualización: noviembre 2007
Define valores que especifican la confirmación de tipo que se puede producir en un objeto ContextNodeBase.
Esta enumeración tiene un atributo FlagsAttribute que permite una combinación bit a bit de los valores de miembro.
Espacio de nombres: System.Windows.Ink.AnalysisCore
Ensamblado: IACore (en IACore.dll)
Sintaxis
'Declaración
<FlagsAttribute> _
Public Enumeration ConfirmationType
'Uso
Dim instance As ConfirmationType
[FlagsAttribute]
public enum ConfirmationType
[FlagsAttribute]
public enum class ConfirmationType
/** @attribute FlagsAttribute */
public enum ConfirmationType
public enum ConfirmationType
Miembros
Nombre de miembro | Descripción | |
---|---|---|
None | Especifica que no se aplique ninguna confirmación. El objeto InkAnalyzer es libre de cambiar un nodo de contexto o cualquiera de sus descendientes según sea necesario. | |
NodeTypeAndProperties | Especifica que el objeto InkAnalyzer no puede cambiar el tipo ni ninguna propiedad del nodo de contexto especificado. | |
TopBoundary | Especifica que InkAnalyzerBase no realizará operaciones, incluidas las de agregar entradas manuscritas o la combinación con otros ContextNodeBases, que hagan que TopBoundary sobrepase el límite superior actual. Por ejemplo: |
Comentarios
Sólo puede utilizar NodeTypeAndProperties para los objetos ContextNodeBase de tipo InkWord y InkDrawing. De lo contrario, se producirá una excepción InvalidOperationException.
Ejemplos
El ejemplo siguiente es un controlador de eventos para el evento MouseUp de un Panel denominado theNotesPanel, que recopila entrada manuscrita a través de un InkCollector denominado theInkCollector. La aplicación tiene un valor Boolean, confirmMode, establecido por un MenuItem denominado confirmMenuItem. En el modo de "confirmación", el usuario hace clic en una palabra para confirmarla (o para desactivar la confirmación si el nodo ya está confirmado). En el ejemplo, el evento MouseUp se convierte a coordenadas de entrada manuscrita, y se utilizan los métodos HitTest y FindNodesOfType para buscar los nodos adecuados. Una vez encontrados los nodos, se llama al método Confirm para activar o desactivar la confirmación. Por último, la aplicación abandona el modo de "confirmación".
Private Sub theNotesPanel_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles theNotesPanel.MouseUp
If Me.confirmMode = True Then
' Translate coordinates into ink dimensions
Dim hitPoint As New Point(e.X, e.Y)
Dim panelGraphics As Graphics = Me.theNotesPanel.CreateGraphics()
Me.theInkCollector.Renderer.PixelToInkSpace(panelGraphics, hitPoint)
panelGraphics.Dispose()
' Find the strokes that the user selected
Dim selectedStrokes As Strokes = Me.theInkCollector.Ink.HitTest(hitPoint, 10)
' The integer array must be exactly the right size. Arrays
' begin at zero, so the upper bound is selectedStrokes.Count - 1.
Dim selectedStrokeIds(selectedStrokes.Count - 1) As Integer
For i As Integer = 0 To selectedStrokes.Count - 1
selectedStrokeIds(i) = selectedStrokes(i).Id
Next
' Find the ink word nodes that correspond to those strokes
Dim selectedNodes As ContextNodeBaseCollection = _
Me.theInkAnalyzerBase.FindNodesOfType(System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.InkWord, _
selectedStrokeIds)
' Toggle the confirmation type on these nodes
Dim selectedNode As ContextNodeBase
For Each selectedNode In selectedNodes
If selectedNode.IsConfirmed( _
Windows.Ink.AnalysisCore.ConfirmationType.NodeTypeAndProperties) Then
selectedNode.Confirm(System.Windows.Ink.AnalysisCore.ConfirmationType.None)
Else
selectedNode.Confirm(System.Windows.Ink.AnalysisCore.ConfirmationType.NodeTypeAndProperties)
End If
Next selectedNode
' No longer in "confirm" mode
Me.confirmMode = False
Me.ConfirmMenuItem.Checked = False
Me.theInkCollector.Enabled = True
End If
End Sub
private void theNotesPanel_MouseUp(object sender, MouseEventArgs e)
{
if (this.confirmMode)
{
// Translate coordinates into ink dimensions
Point hitPoint = new Point(e.X, e.Y);
Graphics panelGraphics = this.theNotesPanel.CreateGraphics();
this.theInkCollector.Renderer.PixelToInkSpace(panelGraphics, ref hitPoint);
panelGraphics.Dispose();
// Find the strokes that the user selected
Strokes selectedStrokes = this.theInkCollector.Ink.HitTest(hitPoint, 10);
int[] selectedStrokeIds = new int[selectedStrokes.Count];
for (int i = 0; i < selectedStrokes.Count; i++)
{
selectedStrokeIds[i] = selectedStrokes[i].Id;
}
// Find the ink word nodes that correspond to those strokes
ContextNodeBaseCollection selectedNodes =
this.theInkAnalyzerBase.FindNodesOfType(System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.InkWord,
selectedStrokeIds);
// Toggle the confirmation type on these nodes
foreach (ContextNodeBase selectedNode in selectedNodes)
{
if (selectedNode.IsConfirmed(
System.Windows.Ink.AnalysisCore.ConfirmationType.NodeTypeAndProperties))
{
selectedNode.Confirm(System.Windows.Ink.AnalysisCore.ConfirmationType.None);
}
else
{
selectedNode.Confirm(System.Windows.Ink.AnalysisCore.ConfirmationType.NodeTypeAndProperties);
}
}
// No longer in "confirm" mode
this.confirmMode = false;
this.confirmMenuItem.Checked = false;
this.theInkCollector.Enabled = true;
}
}
Plataformas
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Información de versión
.NET Framework
Compatible con: 3.0
Vea también
Referencia
System.Windows.Ink.AnalysisCore (Espacio de nombres)
ContextNodeBaseIsNodeTypeAndPropertiesConfirmed()