Método ITextHost::TxNotify (textserv.h)
Notifica o host de texto de vários eventos.
Sintaxe
HRESULT TxNotify(
[in] DWORD iNotify,
[in] void *pv
);
Parâmetros
[in] iNotify
Tipo: DWORD
Evento do qual notificar o host. Um dos códigos de notificação EN_ .
[in] pv
Tipo: void*
Dados extras, dependentes de iNotify.
Retornar valor
Tipo: HRESULT
Retorne S_OK se o método for bem-sucedido.
Retorne S_FALSE se o método falhar. Para obter mais informações sobre códigos de erro COM, consulte Tratamento de erros em COM.
Comentários
Observe que há duas categorias básicas de eventos, diretas e atrasadas . Os eventos diretos são enviados imediatamente porque precisam de algum processamento, por exemplo, EN_PROTECTED. Os eventos atrasados são enviados depois que todo o processamento ocorre; o controle está, portanto, em um estado estável. Exemplos de notificações atrasadas são EN_CHANGE, EN_ERRSPACE e EN_SELCHANGE.
Os eventos de notificação são iguais aos códigos de notificação enviados para a janela pai de uma janela de edição avançada. O disparo de eventos pode ser controlado com uma máscara definida por meio da mensagem EM_SETEVENTMASK .
Em geral, é legal fazer chamadas para o objeto de serviços de texto durante o processamento desse método; no entanto, os implementadores são advertidos para evitar a recursão excessiva.
Veja a seguir uma lista das notificações que podem ser enviadas.
Notification | Significado |
---|---|
EN_CHANGE | Enviado após o sistema atualizar a tela, quando o usuário executa uma ação que pode ter alterado o texto no controle. |
EN_DROPFILES | Enviado quando uma mensagem WM_DROPFILES ou uma notificação IDropTarget::D ragEnter é recebida. |
EN_ERRSPACE | Enviado quando um controle não pode alocar memória suficiente para atender a uma solicitação especificada. |
EN_HSCROLL | Enviado quando o usuário clica na barra de rolagem horizontal do controle antes que a tela seja atualizada. |
EN_KILLFOCUS | Enviado quando o controle perde o foco do teclado. |
EN_LINK | Enviado quando um controle de edição avançada recebe várias mensagens, como mensagens de clique do mouse, quando o ponteiro do mouse está sobre o texto que tem o efeito CFE_LINK. |
EN_MAXTEXT | Enviado quando a inserção de texto atual excedeu o número máximo de caracteres para o controle. |
EN_OLEOPFAILED | Enviado quando uma ação do usuário em um objeto OLE falhou. |
EN_PROTECTED | Enviado quando o usuário executa uma ação que altera o intervalo protegido de texto. |
EN_REQUESTRESIZE | Enviado quando o conteúdo de um controle de edição avançada é diferente do tamanho da janela do controle. |
EN_SAVECLIPBOARD | Enviado quando um controle de edição está sendo destruído. O host de texto deve indicar se OleFlushClipboard deve ser chamado. Os dados que indicam o número de caracteres e objetos a serem liberados são enviados na estrutura de dados ENSAVECLIPBOARD . O valor da máscara não é nada. |
EN_SELCHANGE | Enviado quando a seleção atual foi alterada. Uma estrutura de dados SELCHANGE também é enviada, o que indica o novo intervalo de seleção no tipo de dados que a seleção acabou no momento. Controlado pela máscara de ENM_SELCHANGE . |
EN_SETFOCUS | Enviado quando o controle de edição recebe o foco do teclado. Nenhum dado extra é enviado; não há máscara. |
EN_STOPNOUNDO | Enviado quando ocorre uma ação para a qual o controle não pode alocar memória suficiente para manter o estado de desfazer. Se S_FALSE for retornado, a ação será interrompida; caso contrário, a ação continuará. |
EN_UPDATE | Enviado antes que um controle de edição solicite uma nova análise de dados ou texto alterados. Nenhum dado adicional é enviado. Esse evento é controlado por meio da máscara de ENM_UPDATE . Edição Avançada 2.0 e posterior: A máscara de ENM_UPDATE é ignorada e o código de notificação EN_UPDATE sempre é enviado. No entanto, quando o Microsoft Rich Edit 3.0 emula o Microsoft Rich Edit 1.0, a máscara de ENM_UPDATE controla essa notificação. |
EN_VSCROLL | Enviado quando o usuário clica na barra de rolagem vertical de um controle de edição ou quando o usuário rola a roda do mouse sobre o controle de edição, antes que a tela seja atualizada. Isso é controlado por meio da máscara de ENM_SCROLL ; nenhum dado extra é enviado. |
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
Referência