Compartir a través de


objetos sInk y tInk

Para ayudar a admitir la entrada de lápiz en las aplicaciones, hay dos objetos, ambos que se pueden incrustar y son compatibles con cualquier contenedor OLE. Se generan llamando al método Ink.ClipboardCopy (Rectangle, InkClipboardFormats, InkClipboardModes) o al método Ink.ClipboardCopy (Strokes, InkClipboardFormats, InkClipboardModes) y son:

  • Objeto de entrada de lápiz de texto (tInk). Se trata de un objeto OLE que representa la entrada de lápiz que se espera que forme palabras. Un objeto tInk permite convertir la entrada de lápiz manuscrita en texto, ya sea como el texto devuelto por un reconocedor o la elección tomada de una lista de alternativas de reconocimiento. El color y el tamaño de la entrada de lápiz se pueden establecer mediante programación y se pueden basar en los atributos del texto alrededor del objeto. El objeto tInk está diseñado para contener una sola palabra. El objeto tInk es un objeto pequeño y ligero que puede realizar operaciones sencillas como la representación (dado un identificador a un contexto de dispositivo (HDC) y un RECT) y conservarse (dada una secuencia). El uso de un objeto tInk permite una experiencia de usuario perfecta al trabajar en una aplicación que usa la entrada de escritura a mano y texto.
  • Objeto de lápiz croquis (sInk). Se trata de un objeto OLE que representa la entrada de lápiz que no se espera que forme palabras. Un objeto sInk se interpreta como un dibujo. Un objeto sInk también es útil para representar varias palabras.

Estos objetos se pueden usar para la interoperabilidad entre aplicaciones, ya sea colocándolos en la ranura de objetos OLE en el Portapapeles o insertandolos en formato de texto enriquecido (RTF).

Puede usar objetos tInk y sInk de las maneras siguientes:

  • Los objetos tInk y sInk se admiten en Microsoft Word 2002. Los usuarios pueden insertar entrada de lápiz en un documento de Word mediante los paneles de entrada de texto de escritura y dibujo proporcionados en Word 2002. Esta entrada de lápiz se inserta en el archivo de Word como un objeto OLE con el CLSID del objeto sInk o tInk.
  • El tablet PC control InkEdit utiliza el objeto tInk. El control InkEdit es una subclase del control estándar RichTextBox. La entrada de lápiz se inserta en la secuencia RTF del control InkEdit como un objeto tInk.
  • Cuando una aplicación mueve un objeto ink seleccionado al Portapapeles, la ranura del Portapapeles del objeto OLE contiene un objeto OLE tInk o sInk.

Por ejemplo, la aplicación puede reconocer la escritura a mano y marcar cualquier objeto ink como un objeto tInk. A continuación, si selecciona una palabra en la entrada de lápiz y la copia y péguela en Word, las alternativas para esa palabra se muestran en Word 2002.

Nota

La compatibilidad con portapapeles de la plataforma tablet PC selecciona automáticamente la marca metarchivo mejorado (EMF) cuando coloca un objeto sInk o tInk en el Portapapeles como un objeto OLE. El propio objeto se almacena en el Portapapeles en las ranuras de descriptor de origen y objeto para insertar.

 

Como otro ejemplo, mediante el objeto sInk, puede dibujar un croquis de lápiz en una aplicación, copiar y pegar el croquis en Word 2002 y, a continuación, editar el dibujo mediante el Panel de entrada de PC tableta en Word.

Para contener correctamente objetos tInk, una aplicación debe implementar la compatibilidad con contenedores OLE para objetos incrustados. A continuación, para que el contenedor admita completamente tInk, debe instituir:

  • Modificaciones en el código para Buscar y reemplazar. En lugar de omitir objetos incrustados en la búsqueda, estos objetos deben interrogarse para el tipo. Si son un objeto tInk, deben crear instancias y consultarse para su texto correspondiente.
  • Modificaciones en el comportamiento de selección. La selección de objetos tInk nunca debe aparecer con identificadores de ajuste de tamaño. Deben seleccionarse de la misma manera que el texto seleccionado en el documento. El código de selección de los objetos debe detectar si el tipo es tInk y mostrar la selección correctamente.
  • Uso de propiedades ambientales. Las propiedades ambientales, como el tamaño de fuente, el color y el formato en negrita, deben transmitirse al objeto tInk. La aplicación de estas propiedades cambia el ancho de la entrada de lápiz manuscrita, por lo que se requiere una actualización de tamaño llamando al método GetInkExtent o IOleObject::GetExtent método.
  • Invalide el procesamiento del método IOleObject::D oVerb predeterminado. Esto permite que la conversión al texto pase un lote de objetos tInk al reconocedor, que luego puede dividir las palabras en segmentos de reconocimiento.

Para obtener más información sobre cómo dividir palabras en segmentos de reconocimiento, vea Segmentos de reconocimiento.