Dvorak Soft Input Panel
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
- Shell Reference
- IInputMethod IPOutlookItemCollection Interface
- ATL
- COM
- Seqüência de eventos
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
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.
Crie a solução (Ctrl+Shift+B).
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