ID do artigo: 142415 - Última revisão: terça-feira, 9 de dezembro de 2003 - Revisão: 2.0 PROBLEMA: Manipulador de mensagens MFC não é chamado com PostThreadMessage()
Nesta páginaSintomasQuando o código usa a função Win32 PostThreadMessage(), os manipuladores de mensagem do MFC não são chamados. CausaQuando você chamar PostThreadMessage(), a mensagem é colocada na fila de mensagens do thread. No entanto, porque as mensagens postadas dessa maneira não estão associadas a uma janela, MFC será não distribui-los para manipuladores de mensagem ou o comando. Para lidar com essas mensagens, substituir a função PreTranslateMessage() de sua classe derivada de CWinApp e manipular as mensagens manualmente. ResoluçãoO código a seguir demonstra como chamar PostThreadMessage() InitInstance() da classe derivada de CWinApp usando um aplicativo single-threaded. O princípio é o mesmo para segmentos secundários, exceto que o código mostrado aqui deve ser colocado em sua classe derivada de CWinThread alternativo. O Visual C++ 4.2 dá suporte a tratamento de mensagens postadas para segmentos. Para obter mais informações, consulte ON_THREAD_MESSAGE na documentação do Visual C++ 4.2. Observação : MFC threads de trabalho não tem uma loop/bomba de mensagem associada a eles para que você deve usar um thread de interface do usuário. Código de exemploReferênciasPara obter mais informações sobre o objeto CWinThread, consulte o seguinte: MFC enciclopédia, multithreading: Criando segmentos de interface do usuário. A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 142415
(http://support.microsoft.com/kb/142415/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesTraduções deste artigo |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email



Voltar para o início