Compartilhar via


Método ITextServices::TxSendMessage (textserv.h)

Usado pelo host da janela para encaminhar mensagens enviadas de sua janela para o objeto de serviços de texto.

Sintaxe

HRESULT TxSendMessage(
  UINT    msg,
  WPARAM  wparam,
  LPARAM  lparam,
  LRESULT *plresult
);

Parâmetros

msg

Tipo: UINT

O identificador da mensagem.

wparam

Tipo: WPARAM

O WPARAM da mensagem da janela.

lparam

Tipo: LPARAM

O LPARAM da mensagem da janela.

plresult

Tipo: LRESULT*

LRESULT de retorno da mensagem.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, o valor retornado será S_OK.

Se o método falhar, o valor retornado será um dos seguintes códigos HRESULT . Para obter mais informações sobre códigos de erro COM, consulte Tratamento de erros em COM.

Código de retorno Descrição
E_OUTOFMEMORY
Memória insuficiente. A mensagem NOERROR foi processada e alguma ação foi tomada.
S_FALSE
A mensagem não foi processada. Normalmente indica que o chamador deve processar a mensagem em si, potencialmente chamando DefWindowProc.
S_MSG_KEYIGNORED
Mensagem processada, mas nenhuma ação foi tomada para o pressionamento de tecla.

Comentários

Observe que dois valores retornados são passados de volta dessa função. O valor retornado que deve ser passado de volta de um procedimento de janela é plresult. No entanto, em alguns casos, o LRESULT retornado não contém informações suficientes. Por exemplo, para implementar a movimentação do cursor em torno de controles, é útil saber se um pressionamento de tecla (como seta para a direita) foi processado, mas ignorado (por exemplo, o cursor já está na posição mais à direita no texto). Nesses casos, mais informações podem ser retornadas por meio do HRESULT retornado.

WM_CHAR e WM_KEYDOWN devem retornar o valor S_MSG_KEYIGNORED quando uma chave ou caractere é reconhecido, mas não tem efeito, dado o estado atual. Por exemplo, S_MSG_KEYIGNORED deve ser retornado nos seguintes casos:

  • Qualquer pressionamento de tecla que tente mover o ponto de inserção para ou além do início ou do fim do documento; quando já estiver no início ou no final do documento, respectivamente.
  • Qualquer pressionamento de tecla que tente mover o ponto de inserção para ou após a próxima linha quando ele já estiver na última linha; ou para ou antes da linha anterior quando ela já está na primeira linha.
  • Qualquer inserção do caractere de WM_CHAR que moveria o ponto de inserção além do comprimento máximo do controle.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho textserv.h
DLL Msftedit.dll

Confira também

Conceitual

DefWindowProc

ITextServices

Outros recursos

WM_CHAR

WM_KEYDOWN

Controles de edição avançada sem janelas