Classe InkOverlay

Representa um objeto útil para cenários de anotação em que os usuários não se preocupam em executar o reconhecimento na tinta, mas estão interessados no tamanho, forma, cor e posição da tinta.

A criação do controle InkOverlay por trás de um controle transparente (como um GroupBox com o conjunto de propriedades WS_EX_TRANSPARENT) impedirá o InkOverlay de coletar tinta.

InkOverlay tem esses tipos de membros:

Eventos

A classe InkOverlay tem esses eventos.

Evento Descrição
CursorButtonDown Ocorre quando o InkOverlay detecta um botão de cursor que está inativo.
CursorButtonUp Ocorre quando o InkOverlay detecta um botão de cursor que está em cima.
CursorDown Ocorre quando a dica do cursor entra em contato com a superfície do tablet de digitalização.
CursorInRange Ocorre quando um cursor entra no intervalo de detecção física (proximidade) do contexto do tablet.
CursorOutOfRange Ocorre quando o cursor deixa o intervalo de detecção física (proximidade) do contexto do tablet.
Doubleclick Ocorre quando o objeto InkOverlay é clicado duas vezes.
Gesto Ocorre quando um gesto específico do aplicativo é reconhecido.
Mousedown Ocorre quando o ponteiro do mouse está sobre o objeto InkOverlay e um botão do mouse é pressionado.
Mousemove Ocorre quando o ponteiro do mouse é movido sobre o objeto InkOverlay .
Mouseup Ocorre quando o ponteiro do mouse está sobre o objeto InkOverlay e um botão do mouse é liberado.
Mousewheel Ocorre quando a roda do mouse se move enquanto o objeto InkOverlay tem foco.
NewInAirPackets Ocorre quando um pacote no ar é visto, o que acontece quando um usuário move uma caneta perto do tablet e o cursor está dentro da janela do objeto InkOverlay ou o usuário move um mouse dentro da janela associada do objeto InkOverlay .
NewPackets Ocorre quando o objeto InkOverlay recebe pacotes.
Pintado Ocorre quando o objeto InkOverlay foi concluído redesenhando-se.
Pintura Ocorre antes que o objeto InkOverlay se redesenhe.
SelectionChanged Ocorre quando a seleção de tinta dentro do controle é alterada, como por meio de alterações na interface do usuário, procedimentos de corte e colagem ou a propriedade Selection .
Selectionchanging Ocorre quando a seleção de tinta dentro do controle está prestes a ser alterada, como por meio de alterações na interface do usuário, procedimentos de corte e colagem ou a propriedade Selection .
SelectionMoved Ocorre quando a posição da seleção atual foi alterada, como por meio de alterações na interface do usuário, procedimentos de corte e colagem ou a propriedade Selection .
Selectionmoving Ocorre quando a posição da seleção atual está prestes a ser alterada, como por meio de alterações na interface do usuário, procedimentos de corte e colagem ou a propriedade Selection .
SelectionResized Ocorre quando o tamanho da seleção atual foi alterado, como por meio de alterações na interface do usuário, procedimentos de corte e colagem ou a propriedade Selection .
Selectionresizing Ocorre quando o tamanho da seleção atual está prestes a ser alterado, como por meio de alterações na interface do usuário, procedimentos de corte e colagem ou a propriedade Selection .
Curso Ocorre quando o usuário termina de desenhar um novo traço em qualquer tablet.
StrokesDeleted Ocorre depois que os traços são excluídos da propriedade Ink .
StrokesDeleting Ocorre antes que os traços sejam excluídos da propriedade Ink .
Systemgesture Ocorre quando um gesto do sistema é reconhecido.
Tablet Adicionado Ocorre quando um IInkTablet é adicionado ao sistema.
TabletRemoved Ocorre quando um Tablet é removido do sistema.

Interfaces

A classe InkOverlay define essas interfaces.

Interface Descrição
Iinkoverlay Esse objeto implementa a interface COM IInkOverlay .

Métodos

A classe InkOverlay tem esses métodos.

Método Descrição
Draw Define um retângulo no qual redesenhar a tinta dentro do objeto InkOverlay .
GetEventInterest Retorna o estado atual de um determinado evento de objeto InkOverlay , ou seja, se o evento está sendo escutado ou usado.
GetGestureStatus Retorna se o objeto InkOverlay está interessado em um gesto específico.
GetWindowInputRectangle Recupera o retângulo da janela, em pixels, dentro do qual a tinta é desenhada.
Hittestselection Determina qual parte da seleção foi atingida durante um teste de ocorrência.
SetAllTabletsMode Esse modo permite que o objeto InkOverlay colete tinta de qualquer tablet anexado ao Tablet PC.
SetEventInterest Define se um evento específico deve ser escutado ou usado.
SetGestureStatus Define o interesse do objeto InkOverlay em um gesto conhecido.
SetSingleTabletIntegratedMode Esse modo permite que o objeto InkOverlay colete tinta de apenas um tablet. A tinta de outros tablets é ignorada pelo objeto InkOverlay .
SetWindowInputRectangle Define o retângulo da janela, em pixels, a ser usado para mapear a tinta desenhada para a janela.

Propriedades

A classe InkOverlay tem essas propriedades.

Propriedade Tipo de acesso Descrição
AttachMode
Leitura/gravação
Obtém ou define o valor que especifica se o objeto InkOverlay está anexado atrás ou na frente da janela conhecida.
AutoRedraw
Leitura/gravação
Obtém ou define um valor que especifica se o InkOverlay repintifica a tinta quando a janela é invalidada.
CollectingInk
Somente leitura
Obtém um valor que especifica se a tinta está sendo desenhada no momento em um objeto InkOverlay .
Collectionmode
Leitura/gravação
Obtém ou define o modo de coleção que determina se tinta, gestos ou ambos são reconhecidos como gravações do usuário.
Cursores
Somente leitura
Obtém a coleção Cursors que está disponível para uso na região de escrita à tinta.
DefaultDrawingAttributes
Leitura/gravação
Obtém ou define o objeto InkDrawingAttributes padrão, que especifica os atributos de desenho que são usados ao desenhar e exibir tinta.
DesiredPacketDescription
Leitura/gravação
Obtém ou define o interesse em aspectos do pacote associado à tinta desenhada no objeto InkOverlay .
DynamicRendering
Leitura/gravação
Obtém ou define um valor que indica se a tinta é renderizada à medida que é desenhada.
Editingmode
Leitura/gravação
Obtém ou define um valor que indica se o InkOverlay está no modo de tinta, no modo de exclusão ou no modo de seleção/edição.
Habilitado
Leitura/gravação
Obtém ou define um valor que especifica se o objeto InkOverlay coleta a entrada de caneta.
EraserMode
Leitura/gravação
Obtém ou define um valor que indica se a tinta é apagada por traço ou por ponto.
EraserWidth
Leitura/gravação
Obtém ou define um valor que especifica a largura da ponta da caneta borracha.
Handle
Leitura/gravação
Obtém ou define o identificador da janela à qual o objeto InkOverlay está anexado.
Tinta
Leitura/gravação
Obtém ou define o objeto InkDisp associado ao objeto InkOverlay .
MarginX
Leitura/gravação
Obtém ou define as margens ao longo do eixo x, em pixels.
MarginY
Leitura/gravação
Obtém ou define as margens ao longo do eixo y, em pixels.
MouseIcon
Leitura/gravação
Obtém ou define o ícone do mouse personalizado atual.
Mousepointer
Leitura/gravação
Obtém ou define um valor que indica o tipo de ponteiro do mouse que aparece quando o mouse está sobre uma parte específica do objeto.
Renderizador
Leitura/gravação
Obtém ou define o objeto InkRenderer usado para desenhar tinta.
Seleção
Leitura/gravação
Obtém ou define a coleção InkStrokes que está selecionada no momento dentro do controle InkOverlay .
SupportHighContrastInk
Leitura/gravação
Obtém ou define um valor que especifica se a tinta é renderizada como apenas uma cor quando o sistema está no modo de Alto Contraste.
SupportHighContrastSelectionUI
Leitura/gravação
Obtém ou define um valor que especifica se toda a interface do usuário de seleção é desenhada em alto contraste quando o sistema está no modo de Alto Contraste.
Tablet
Somente leitura
Obtém o dispositivo tablet que o objeto InkOverlay está usando atualmente para coletar entrada.

Notas de implementação do MFC

Se você anexou o objeto InkOverlay a um objeto CView, libere o objeto InkOverlay em resposta à mensagem WM_DESTROY, conforme mostrado no exemplo a seguir:

BOOL CRecognitionAlternatesSampleCppView::OnWndMsg(UINT msg, WPARAM wp, PARAM lp, LRESULT *pLR)
{
    if(WM_DESTROY == msg)
        m_spInkOverlay.Release();
    return CView::OnWndMsg(msg, wp, lp, pLR);
}

Comentários

Esse objeto pode ser instanciado chamando o método CoCreateInstance em C++.

O objeto InkOverlay é adequado para anotações e rabiscos básicos. O uso principal pretendido desse objeto é exibir tinta como tinta.

Em geral, a interface do usuário em tempo de execução para esse objeto é uma janela transparente com tinta opaca.

Os eventos MouseDown, MouseMove, MouseUp e MouseWheel retornam coordenadas x e coordenadas y em pixels, e não as unidades HIMETRIC associadas ao espaço à tinta. Isso ocorre porque esses eventos substituem os eventos do mouse de aplicativos sem reconhecimento de caneta e esses aplicativos entendem apenas pixels.

Cuidado

Se você estiver definindo a propriedade AttachMode do objeto InkOverlay como InFront, crie o objeto InkOverlay no thread no qual o formulário está em execução. Seu aplicativo poderá parar de responder se o objeto InkOverlay for criado em um thread diferente e sua propriedade AttachMode estiver definida como InFront.

Observação

O objeto InkOverlay não pode ser liberado com segurança em um thread que não seja da interface do usuário.

Para melhorar o desempenho do aplicativo, descarte o objeto InkOverlay quando ele não for mais necessário.

Se você anexou o objeto InkOverlay a um objeto CView, libere o objeto InkOverlay em resposta à mensagem WM_DESTROY, conforme mostrado no exemplo a seguir:

BOOL CRecognitionAlternatesSampleCppView::OnWndMsg(UINT msg, WPARAM wp, PARAM lp, LRESULT *pLR)
{
    if(WM_DESTROY == msg)
        m_spInkOverlay.Release();
    return CView::OnWndMsg(msg, wp, lp, pLR);
}

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows XP Tablet PC Edition [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Nenhum compatível
Cabeçalho
Msinkaut.h (também requer Msinkaut_i.c)
Biblioteca
InkObj.dll

Confira também

Classe InkCollector

Referência de controle InkPicture

Referência de controle InkEdit