Compartir a través de


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)

ContextNodeBase.Confirm

ContextNodeBaseIsNodeTypeAndPropertiesConfirmed()