Exemplo do DOCKTOOL: Demonstra encaixáveis barras de ferramentas
O exemplo DOCKTOOL demonstra o suporte para barras de ferramentas acoplável.Uma barra de ferramentas encaixáveis pode ser anexada ou encaixada, para qualquer lado da sua janela pai, ou pode ser desanexado, ou flutuar na própria janela miniframe usando CMiniFrameWnd.
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 criar e executar a amostra DOCKTOOL
Abra a solução docktool.sln.
Sobre o Compilação menu, clicar Compilação.
No menu Debug, clique em Start Without Debugging.
Encaixáveis barras de ferramentas de suporte
As três etapas a seguir são necessárias para colocar uma barra de ferramentas encaixáveis em seu aplicativo:
Ativar encaixe para a janela de quadro ou o destino usando o CFrameWnd::EnableDocking função. One DWORD parâmetro indica qual lado da janela do quadro aceita encaixe. Para encaixar barras de controle em qualquer lugar, passar CBRS_ALIGN_ANY para EnableDocking.
Ativar encaixe de ferramentas ou de fonte chamando CControlBar::EnableDocking para cada barra de ferramentas. Especifique os lados de destino ao qual deve encaixar a barra de ferramentas.Se nenhum dos lados especificados corresponderem lados habilitados para encaixe na janela do quadro, não é possível encaixar a barra de ferramentas; irá flutuar.Quando flutuante, ele permanece uma barra de ferramentas flutuante, não é possível encaixar a janela do quadro.
Ancorar a barra de ferramentas para a janela de quadro chamando CFrameWnd::DockControlBar. Por outro lado, telefonar CFrameWnd::FloatControlBar Para desconectar-se uma barra de ferramentas encaixáveis da janela do quadro.
Se você não completar todas as três etapas, o aplicativo irá exibir uma barra de ferramentas padrão.As duas últimas etapas devem ser executadas para cada barra de ferramentas encaixáveis em seu aplicativo.
Para manter o estado de barras de ferramentas encaixáveis (seja encaixado ou flutuante) entre invocações de seu aplicativo, use o CControlBar::SetBarStyle e CControlBar::GetBarStyle funções para recuperar e restauração as configurações de qualquer BAR de controle específico. Normalmente, essas informações são armazenadas no arquivo .ini do aplicativo usando CFrameWnd::SaveBarState e recuperados usando CFrameWnd::LoadBarState.
Palavras-chave
Este exemplo demonstra as seguintes palavras-chave:
AfxGetApp; CArchive::IsStoring; CComboBox::criar; CComboBox::DeleteString; CComboBox::GetCount; CComboBox::InsertString; CComboBox::SetCurSel; CControlBar::GetBarStyle; CControlBar::SetBarStyle; CDialog::DoModal; CDocument::OnNewDocument; CFrameWnd::criar; CFrameWnd::DockControlBar; CFrameWnd::EnableDocking; CFrameWnd::LoadBarState; CFrameWnd::RecalcLayout; CFrameWnd::SaveBarState; CMenu::GetSubMenu; CMenu::LoadMenu; CMenu::TrackPopupMenu; CObject::AssertValid; CObject::despejo; CObject::Serialize; CRect::OffsetRect; CString::IsEmpty; CToolBar::criar; CToolBar::GetItemRect; CToolBar::LoadBitmap; CToolBar::SetButtonInfo; CToolBar::SetButtons; CView::GetDocument; CView::OnDraw; CWinApp::AddDocTemplate; CWinApp::InitInstance; CWinApp::LoadStdProfileSettings; CWinApp::OnFileNew; CWnd::ClientToScreen; CWnd::DoDataExchange; CWnd::FromHandlePermanent; CWnd::GetParentFrame; CWnd::GetStyle; CWnd::GetWindowPlacement; CWnd::GetWindowRect; CWnd::GetWindowText; CWnd::Invalidate; CWnd::IsZoomed; CWnd::OnClose; CWnd::OnCreate; CWnd::PreTranslateMessage; CWnd::SendMessage; CWnd::SetWindowPlacement; CWnd::SetWindowPos; CWnd::SetWindowText; CWnd::ShowWindow; GetProfileInt; GetProfileString; GetStockObject; HIWORD; LOWORD; LoadBitmap; WriteProfileString; wsprintf
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. |