Artigo: 129649 - Última revisão: terça-feira, 21 de Novembro de 2006 - Revisão: 2.1 PROBLEMA: GetActiveView devolve NULL para uma janela de pacotes MDI
SintomasA função GetActiveView() devolve a vista activa (se existir) anexado a uma moldura de janela (CFrameWnd). Esta função devolve NULL quando chamado para uma janela de frame principal MDI (CMDIFrameWnd). CausaNuma aplicação MDI, a janela de frame principal MDI (CMDIFrameWnd) não tem uma vista associada. Em vez disso, cada janela subordinada individuais (CMDIChildWnd) tem um ou mais vistas associadas. Por conseguinte, uma chamada para a função GetActiveView() para uma janela de frame principal MDI devolve NULL. A secção "Mais informação" deste artigo fornece o esquema de janelas diferentes numa aplicação MDI. ResoluçãoPara resolver o problema, localize o subordinado MDI activo janela (se existir) e, em seguida, chamada a função GetActiveView() para essa janela subordinada. A janela de subordinado MDI activa possível encontrar chamando a função MDIGetActive() ou GetActiveFrame(), como demonstrado neste código: Mais InformaçãoA área de cliente da janela MDI moldura está coberta por janela do cliente referida como MDICLIENT, também conhecido como a área de trabalho. Esta janela de cliente por sua vez contém zero ou mais janelas de subordinadas, cada uma delas pode apresentar uma vista, tal como neste diagrama:
---------------------------
| Frame Window | ---> CMDIFrameWnd
| (main application window) |
---------------------------
|
--------------------
| Client Window | ---> MDICLIENT window class
| (no view attached) |
--------------------
|
-----------------------------------------------------------
| |
--------------------- --------------------
| Child Window 1 | | Child Window 2 | ---> CMDIChildWnd
| (one or more views) | | (one or more views |
--------------------- --------------------
Por este motivo, a chamar a função GetActiveView() para uma janela de frame principal MDI devolve nulo, que implica que não existe nenhuma vista diretamente associada MDICLIENT. É possível obter a vista activa numa aplicação MDI primeiro localizar MDI subordinado janela activa e, em seguida, localizar a vista activa para essa janela subordinada conforme descrito na secção resolução deste artigo. Referências"Programação Windows 3.1," Carlos Petzold, Microsoft prima, 1992. 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 129649
(http://support.microsoft.com/kb/129649/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesTraduções de Artigos |






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



Voltar ao topo