Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Representa o objeto usado para capturar tinta de dispositivos tablet disponíveis.
Criar o controle InkCollector por trás de um controle transparente (como um GroupBox com o conjunto de propriedades WS_EX_TRANSPARENT ) impedirá o InkCollector de coletar tinta.
O InkCollector tem estes tipos de membros:
Eventos
A classe InkCollector tem esses eventos.
| Evento | Descrição |
|---|---|
| CursorButtonDown | Ocorre quando o InkCollector detecta um botão de cursor que está inativo. |
| CursorButtonUp | Ocorre quando o InkCollector detecta um botão de cursor que está ativado. |
| CursorDown | Ocorre quando a dica de 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 InkCollector é clicado duas vezes. |
| Gesto | Ocorre quando um gesto específico do aplicativo é reconhecido. |
| MouseDown | Ocorre quando o ponteiro do mouse está sobre o objeto InkCollector e um botão do mouse é pressionado. |
| MouseMove | Ocorre quando o ponteiro do mouse é movido sobre o objeto InkCollector . |
| MouseUp | Ocorre quando o ponteiro do mouse está sobre o objeto InkCollector e um botão do mouse é liberado. |
| Mousewheel | Ocorre quando a roda do mouse se move enquanto o objeto InkCollector 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 InkCollector ou o usuário move um mouse dentro da janela associada do objeto InkCollector . |
| NewPackets | Ocorre quando o objeto InkCollector recebe pacotes. |
| Traço | Ocorre quando o usuário termina de desenhar um novo traço em qualquer tablet. |
| Systemgesture | Ocorre quando um gesto do sistema é reconhecido. |
| Tablet Adicionado | Ocorre quando um Tablet é adicionado ao sistema. |
| TabletRemoved | Ocorre quando um Tablet é removido do sistema. |
Interfaces
A classe InkCollector define essas interfaces.
| Interface | Descrição |
|---|---|
| IInkCollector | Esse objeto implementa a interface COM IInkCollector . |
Métodos
A classe InkCollector tem esses métodos.
| Método | Descrição |
|---|---|
| GetEventInterest | Recupera o estado atual de um evento de objeto InkCollector específico, ou seja, se o evento está sendo escutado ou usado. |
| GetGestureStatus | Recupera se o objeto InkCollector está interessado em um gesto específico. |
| GetWindowInputRectangle | Recupera o retângulo da janela, em pixels, no qual a tinta é desenhada. |
| SetAllTabletsMode | Esse modo permite que o objeto InkCollector colete tinta de qualquer tablet anexado ao Tablet PC. |
| SetEventInterest | Modifica um valor que indica se um evento específico deve ser escutado ou usado. |
| SetGestureStatus | Modifica o interesse do objeto InkCollector em um gesto conhecido. |
| SetSingleTabletIntegratedMode | Esse modo permite que o objeto InkCollector colete tinta de apenas um tablet. A tinta de outros tablets é ignorada pelo objeto InkCollector . |
| SetWindowInputRectangle | Modifica o retângulo da janela, em pixels, a ser usado para mapear a tinta desenhada para a janela. |
Propriedades
A classe InkCollector tem essas propriedades.
| Propriedade | Tipo de acesso | Descrição |
|---|---|---|
|
AutoRedraw |
Somente leitura |
Obtém ou define um valor que especifica se o InkCollector repinta 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 InkCollector . |
|
Collectionmode |
Somente leitura |
Obtém ou define o modo de coleta 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 |
Somente leitura |
Obtém ou define o objeto InkDrawingAttributes padrão, que especifica os atributos de desenho usados ao desenhar e exibir tinta. |
|
DesiredPacketDescription |
Somente leitura |
Obtém ou define o interesse em aspectos do pacote associado à tinta desenhada no objeto InkCollector . |
|
DynamicRendering |
Somente leitura |
Obtém ou define um valor que indica se a tinta é renderizada à medida que é desenhada. |
|
Enabled |
Somente leitura |
Obtém ou define um valor que especifica se o objeto InkCollector coleta a entrada da caneta. |
|
Lidar com |
Somente leitura |
Obtém ou define o identificador da janela à qual o objeto InkCollector está anexado. |
|
Tinta |
Somente leitura |
Obtém ou define o objeto InkDisp associado ao objeto InkCollector . |
|
MarginX |
Somente leitura |
Obtém ou define as margens ao longo do eixo x, em pixels. |
|
Margem |
Somente leitura |
Obtém ou define as margens ao longo do eixo y, em pixels. |
|
MouseIcon |
Somente leitura |
Obtém ou define o ícone de mouse personalizado atual. |
|
Mousepointer |
Somente leitura |
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 |
Somente leitura |
Obtém ou define o objeto InkRenderer usado para desenhar tinta. |
|
SupportHighContrastInk |
Somente leitura |
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. |
|
Tablet |
Somente leitura |
Obtém o dispositivo tablet que o objeto InkCollector está usando atualmente para coletar entrada. |
Comentários
Esse objeto pode ser instanciado chamando o método CoCreateInstance em C++.
O objeto InkCollector coleta apenas tinta e gestos que são inseridos na janela específica à qual ele está associado. A única finalidade do InkCollector é coletar tinta do hardware (por exemplo, por meio de um objeto IInkCursor e IInkTablet ) e entregá-la a um aplicativo. Ele essencialmente atua como a origem que distribui tinta em um ou muitos objetos InkDisp diferentes, que atuam como contêineres que contêm a tinta distribuída.
Para usar um InkCollector, crie-o, informe-o em qual janela coletar tinta desenhada e habilite-a. Depois de habilitado, ele pode ser definido para coletar em apenas um dos três modos (o modo é especificado na enumeração InkCollectionMode ):
- InkOnly, no qual um objeto IInkStrokeDisp é criado.
- GestureOnly, no qual um objeto IInkGesture é criado.
- InkAndGesture, no qual um traço, um gesto ou potencialmente ambos são criados, dependendo de como o aplicativo manipula eventos.
Isso significa que, para cada movimento de um cursor que está dentro do intervalo de um tablet, o InkCollector sempre coleta um traço ou um gesto e, às vezes, ambos. O suporte a gestos é integrado usando o reconhecimento de gestos da Microsoft.
Um InkCollector manipula todas as entradas de tablet. A tinta pode ser coletada de todos os tablets anexados (incluindo o mouse) simultaneamente. As alterações nos objetos IInkCursor e IInkCursorButton podem fazer com que o objeto InkCollector dispare um evento.
Um InkCollector também gerencia a lista de cursores que encontra durante sua existência. Quando o InkCollector encontra um novo cursor, o evento CursorInRange é acionado com o parâmetro newCursor definido como VARIANT_TRUE. Os aplicativos usam o InkCollector para gerenciar novos cursores.
Mais de um InkCollector pode ser associado a um identificador de janela específico, mesmo que suas áreas de coleção, definidas no construtor ou com o método SetWindowInputRectangle , se sobreponham. No entanto, a única maneira de esse cenário funcionar é se cada InkCollector chamar SetSingleTabletIntegratedMode e usar um tablet exclusivo. Esse comportamento facilita o armazenamento de tinta em um objeto separado para cada tablet.
Ocorrerá um erro se o retângulo de entrada da janela de um InkCollectors habilitado (definido com a propriedade Enabled ) sobrepor o retângulo de entrada da janela de outro InkCollector habilitado.
Observação
A sobreposição pode ocorrer sem um erro, desde que apenas um dos retângulos de entrada esteja habilitado em qualquer momento conhecido.
Os eventos MouseDown, MouseMove, MouseUp e MouseWheel retornam coordenadas x e 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.
Observação
O objeto InkCollector não pode ser liberado com segurança em um thread que não seja de interface do usuário.
Para melhorar o desempenho do aplicativo, descarte o objeto InkCollector quando ele não for mais necessário.
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 |
|
| Biblioteca |
|