Compartilhar via


Dvorak Soft Input Panel

Windows Mobile SupportedWindows Embedded CE Not Supported

9/8/2008

Este amostra de código é nomeado DvorakSIP. Ele demonstra como criar um personalizado Soft Input Panel (SIP) como um objeto COM. Ela destina-se a ajudar os usuários e provedores serviço em diferentes regiões suporte idiomas diferentes na SIP. O aplicativo é um componente COM que implementa o IInputMethod Interface.

Área recurso

APIs relevantes

O seguinte ocorrer eventos quando o usuário seleciona essa entrada painel e começa tocando em chaves.

  • O sistema chama o DLL contendo a codificar para o personalizado mecanismo SIP, que implementa o IInputMethod Interface.
  • O IInputMethod::SELECT método é chamado para criar a entrada janela usando o bitmap de teclado Dvorak.
  • Chamadas do sistema IInputMethod::GetInfo Para informações get em um IMINFO estrutura sobre o tamanho e outros aspectos a entrada contexto.
  • Chamadas do sistema IInputMethod::ReceiveSipInfo Para informar a entrada método de tamanho, posicionamento informações. Ele reage a este chamar redimensionando próprio apropriadamente.
  • IInputMethod::RegisterCallback é chamado para dar a entrada método um ponteiro para um IIMCallback interface. Essa interface é usada para retornar pressionamentos de teclas para aplicativos.
  • Quando o usuário toques uma chave no teclado, a entrada método reconhece a localidade evento mouse no bitmap seu do teclado. Ele examina o bitmap horizontalmente e verticalmente para local de tocar em uma chave particular.
  • Uma matriz grande de constantes é mantido, que definem o valor de cada chave de modo que esse mecanismo de verificação pode ser feito o teclado e sua localidade pixel.
  • A pressionamento de tecla é processada e vários sinalizadores são verificados such as CAPS bloqueio, shift, etc.. Depois que o pressionamento de tecla adequada tiver sido determinada, ele é retornado para o aplicativo usando o IIMCallback::SendCharEvents método. IIMCallback::SendVirtualKey é usado se o código de chave virtual é desejada (Um exemplo poderia ser quando a chave Windows foi pressionada tal uma chave exista no teclado).
  • O estado do teclado é atualizado conforme a chave não seja mais pressionado. Código deve ter cuidado ao verificar para chaves adesivos such as CAPS nessa situação.

O uso

Para executar o amostra de código

  1. Navegue até a arquivo de solução (*.sln) e clique duplo-la. Por padrão, o arquivo solução é copiado para a seguinte pasta:

    C:\Arquivos de programas\Windows Mobile 6 SDK\Samples\PocketPC\CPP\ATL\dvoraksip

    Microsoft Visual Studio 2005 inicia e carrega a solução.

  2. Crie a solução (Ctrl+Shift+B).

  3. Implante a solução (F5).

Para usar o aplicativo

  • Selecione o Dvorak SIP usando o botão SIP no Meio Inferior de Tela a partir de qualquer aplicativo que ofereça suporte a SIP (Word Mobile, anotações, etc.).

Remarks

O painel de entrada flexível (SIP) destina-se a entrada suporte User-defined mecanismos. Por padrão, ele inclui um Standard Keyboard, um identificador de bloco e um Reconhecimento de letras.

IInputMethod::GetImData, IInputMethod::SetImData, IInputMethod::UserOptionsDlg Simplesmente pode retornar um HRESULT sem qualquer computação.

IInputMethod::UserOptionsDlg Pode exibir a mensagem simples " existem há opções para esta entrada método. " Este é apenas a apresentação a função do método para que você possa estendê-lo ainda mais.

Para obter mais informações sobre layouts de teclado hardware-specific, consulte Device Layouts emMSDN.

Se esse exemplo está carregado no tempo inicializar como a entrada usar como padrão método, ele só usará o superior esquerda quadrante da área SIP.

Ambientes de Desenvolvimento

Pocket PC SDK: Windows Mobile 6 Professional SDK 

Ambiente de desenvolvimento: Visual Studio 2005.

ActiveSync: Versão 4.5.

See Also

Concepts

Code Samples for Windows Mobile

Other Resources