Exemplo do MDI: Demonstra MDI sem usar a arquitetura do doc/exibir
O exemplo MDI usa suporte a interface de documentos múltiplos (MDI) do MFC sem usar a arquitetura/modo de exibição do documento.
Para obter uma amostra MDI adicional, consulte MDIDOCVW.
MDI também ilustra o timer do Microsoft Windows, CColorDialog, CBitmape alterar o cursor padrão de uma janela.
Observação de segurança: |
---|
Este código de exemplo é fornecido para ilustrar um conceito e não deve ser usado em aplicativos ou sites da Web, pois ele não pode ilustrar sistema autônomo práticas de codificação mais seguras.Microsoft sistema autônomo sumes nenhuma responsabilidade por danos incidentais ou conseqüenciais deve o código de exemplo ser usado para fins diferentes de sistema autônomo se destina. |
Para obter exemplos e instruções para instalá-los:
Sobre o Visual Studio Ajuda menu, clicar Exemplos.
Para obter mais informações, consulte Localizando arquivos de exemplo.
A versão mais recente e a lista completa das Exemplos está disponível online a partir de O Visual Studio 2008 Exemplos página.
Você também pode localizar exemplos no disco rígido do seu computador.Por padrão, exemplos e um arquivo Leiame são copiados para uma pasta sob \programa Files\Visual Studio 9.0\Samples\.Para edições Express do Visual Studio, todos os exemplos estão localizados online.
Criando e executando o exemplo
Para compilação e executar a amostra MDI
Abra a solução mdi.sln.
Sobre o Compilação menu, clicar Compilação.
No menu Debug, clique em Start Without Debugging.
O exemplo de aplicativo MDI fornece uma janela pai com dois tipos distintos de janelas filho MDI: uma janela de repercussão, em que uma bola balança ao redor; e uma janela de saudação, que exibe o texto "Hello, World!" Você pode criar várias instâncias de cada tipo de janela.
clicar Repercussão novo or Novo Hello on the Arquivo menu para criar uma nova janela filho MDI.As duas janelas filho MDI determinam quais menus são exibidos quando estão ativo.Ambas as janelas têm um Cor menu.Quando você escolhe uma cor nesse menu, a cor da bola saltitante ou o texto de saudação é atualizada.escolher o item personalizado para telefonar uma caixa de diálogo cor, na qual você pode selecionar uma cor especial.
A janela de repercussão também possui um Velocidade menu, na qual você pode selecionar a velocidade com que a bola se mova pela tela.
Se você minimizar a janela de repercussão, observe que não há um ícone de estático.Em vez disso, um indicador pequeno balança ao redor do ícone.Por outro lado, a janela Hello tem um ícone normal.
MDI sem documentos e modos de exibição
Ao contrário de um aplicativo MDI produzido pelo Assistente de aplicativo, esse aplicativo de exemplo não usa de suporte da estrutura para documentos e modos de exibição.Assim, ele não usa modelos de documento; InitInstance Não discar AddDocTemplate.
Este aplicativo não obstante aproveita ao máximo MDI suporte da estrutura.CMainFrame is derived from CMDIFrameWnd. CBounceWnd and CHelloWnd are derived from CMDIChildWnd.Comandos em oJanela menu, sistema autônomo, por exemplo, organizar organizar lado a lado a organizar lado a lado, são manipulados pela implementação do padrão da estrutura em CMDIFrameWnd.
Embora CBounceWnd and CHelloWnd ambas substituir Criar, a substituição não é necessária para se beneficiar do suporte a MDI da estrutura.A substituir de Criar ilustra como alterar o cursor padrão e o ícone de uma janela.Alterar o cursor padrão ou o ícone de uma janela requer Registrando um novo WNDCLASS chamando AFXRegisterWndClass e passando o nome do WNDCLASS na telefonar para Criar.
Palavras-chave
Este exemplo demonstra as seguintes palavras-chave:
AfxGetInstanceHandle AfxRegisterWndClass CBitmap::CreateCompatibleBitmap; CCmdUI::SetCheck; CColorDialog::DoModal; CColorDialog::GetColor; CDC::BitBlt; CDC::CreateCompatibleDC; CDC::DeleteDC; CDC::DrawText; CDC::Ellipse; CDC::FillRect; CDC::GetDeviceCaps; CDC::SelectObject; CDC::SetBkColor; CDC::SetTextColor; CFrameWnd::LoadFrame; CFrameWnd::rectDefault; CGdiObject::DeleteObject; CMDIChildWnd::criar; CMenu::LoadMenu; CWinApp::InitInstance; CWnd::DestroyWindow; CWnd::GetClientRect; CWnd::GetCurrentMessage; CWnd::GetDC; CWnd::Invalidate; CWnd::KillTimer; CWnd::MessageBox; CWnd::OnCreate; CWnd::OnPaint; CWnd::OnSize; CWnd::OnTimer; CWnd::ReleaseDC; CWnd::SetTimer; CWnd::ShowWindow; CWnd::UpdateWindow; GetSysColor; LOWORD; LoadCursor; LoadIcon; MAKEINTRESOURCE; RGB; máximo; min
Observação: |
---|
Alguns exemplos, sistema autônomo esta, não foram modificados para refletir sistema autônomo alterações nos assistentes, bibliotecas e compilador Visual C++, mas ainda Demonstre sistema autônomo concluir a tarefa desejada. |