Trabalhando com o objeto Text Ink
Para auxiliar o suporte à tinta em aplicativos, há dois objetos, ambos podem ser inseridos e têm suporte de qualquer contêiner OLE, o objeto de tinta de texto (tInk) e o objeto de tinta de esboço (sInk).
O objeto de tinta de texto é um objeto OLE que representa a tinta que deve formar palavras. Um objeto de tinta de texto permite que a tinta manuscrita seja convertida em texto escolhendo entre uma lista de alternativas. A cor e o tamanho do objeto de tinta de texto podem ser definidos programaticamente e podem ser baseados nos atributos do texto ao redor do objeto. O objeto de tinta de texto destina-se a conter uma única palavra.
O objeto de tinta de texto dá suporte ao conjunto padrão de interfaces OLE necessárias para inserção e suporte à área de transferência. A interface IPersistStream lê e grava em um fluxo no ISF (formato serializado à tinta). O objeto de tinta de texto fornece a interface IInkLineInfo para acessar suas propriedades de exibição e a lista de resultados de reconhecimento.
O objeto de tinta de texto pode ser usado para interoperabilidade entre aplicativos colocando-o no slot de objeto OLE na Área de Transferência, inserindo-o no RTF ou persistindo-o em um fluxo ISF.
Um objeto de tinta de texto pode ser gerado das seguintes maneiras.
- O controle InkEdit usa o objeto de tinta de texto. A funcionalidade do controle InkEdit é um superconto da funcionalidade de controle RichEdit padrão. A tinta é inserida no fluxo RTF do controle InkEdit como um objeto de tinta de texto.
- Quando um aplicativo copia um objeto InkStrokes ou InkEdit para a Área de Transferência e o formato de Enumeração InkClipboardFormats é definido, o slot área de transferência do objeto OLE contém um objeto OLE de tinta de texto.
- O Painel de Entrada do Tablet PC pode gerar objetos de tinta de texto.
Por exemplo, seu aplicativo pode reconhecer a manuscrito e adicionar o resultado do reconhecimento aos traços. Em seguida, se você copiar e colar os traços no Microsoft Word como um objeto de tinta de texto, as alternativas para essa palavra estão disponíveis no Word 2003 e versões posteriores.
Para conter com êxito objetos de tinta de texto, um aplicativo deve implementar o suporte de contêiner OLE para objetos inseridos. Em seguida, para tornar o contêiner totalmente compatível com tinta de texto, você deve instituir:
- Modificações no aplicativo para Localizar e Substituir. Em vez de ignorar objetos inseridos na pesquisa, esses objetos devem ser interrogados para o tipo . Se forem um objeto de tinta de texto, eles deverão ser instanciados e consultados para o texto correspondente.
- Modificações no comportamento de seleção. A seleção de objetos de tinta de texto nunca deve aparecer com alças de dimensionamento. Eles devem ser selecionados da mesma forma que o texto é selecionado no documento. O código de seleção para objetos deve detectar se o tipo é tinta de texto e exibir a seleção adequadamente.
- Uso de propriedades de ambiente. Propriedades de ambiente, como tamanho da fonte, cor e formatação em negrito, precisam ser transmitidas para o objeto de tinta de texto. A aplicação dessas propriedades altera a largura da tinta manuscrita, portanto, uma atualização de tamanho é necessária chamando o método IInkLineInfo::GetInkExtent ou IOleObject::GetExtent .
Nesta seção