Servidores: Implementação local quadro Windows
Este artigo explica o que você deve fazer para implementar as janelas de quadro no local em seu aplicativo de servidor de edição visual se você não usar o Assistente de aplicativo para criar o aplicativo de servidor.Em vez de seguir o procedimento descrito neste artigo, você pode usar uma classe de janela de quadro no local existente de um aplicativo assistente–generated aplicativo ou uma amostra fornecidos com o Visual C++.
Para declarar uma classe de janela de quadro no local
Derivar uma classe de janela de quadro no local de COleIPFrameWnd.
Use o DECLARE_DYNCREATE macro em seu arquivo de cabeçalho de classe.
Use o IMPLEMENT_DYNCREATE macro no arquivo de classe de implementação (CPP). Isso permite que objetos desta classe a ser criado pela estrutura.
Declarar um COleResizeBar membro da classe de janela do quadro. Isso é necessário se você quiser suportar in-loco redimensionamento em aplicativos do servidor.
Declarar um OnCreate manipulador de mensagens (usando o Propriedades window), and telefonar Criar for your COleResizeBar membro, se você definiu.
Se você tiver uma barra de ferramentas, declare um CToolBar membro da classe de janela do quadro.
Substituir o OnCreateControlBars função de membro para criar uma barra de ferramentas quando o servidor está ativo no lugar. Por exemplo:
BOOL CInPlaceFrame::OnCreateControlBars(CFrameWnd* pWndFrame, CFrameWnd* pWndDoc) { UNREFERENCED_PARAMETER(pWndDoc); // Set owner to this window, so messages are delivered to correct app m_wndToolBar.SetOwner(this); // Create toolbar on client's frame window if (!m_wndToolBar.CreateEx(pWndFrame, TBSTYLE_FLAT,WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(IDR_SRVR_INPLACE)) { TRACE0("Failed to create toolbar\n"); return FALSE; } // TODO: Delete these three lines if you don't want the toolbar to be dockable m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); pWndFrame->EnableDocking(CBRS_ALIGN_ANY); pWndFrame->DockControlBar(&m_wndToolBar); return TRUE; }
Consulte a discussão deste código seguindo a etapa 5.
Inclua o arquivo de cabeçalho para esta classe de janela de quadro no local em seu arquivo .cpp principal.
In InitInstance para sua classe de aplicativo telefonar o SetServerInfo função de objeto de modelo de documento para especificar a recursos e a janela do quadro no local a ser usado na edição aberta e no local.
A série de função chama o Se demonstrativo cria a barra de ferramentas de recursos do servidor fornecido.Neste ponto, a barra de ferramentas é parte janela hierarquia do contêiner.Porque esta barra de ferramentas é derivada de CToolBar, ele irá passar suas mensagens para seu proprietário, a janela do quadro do aplicativo contêiner, a menos que você altere o proprietário. É por isso que a telefonar para SetOwner é necessário. Essa telefonar altera a janela onde os comandos são enviados para ser a janela de quadro no local do servidor, fazendo com que as mensagens para ser passada para o servidor.Isso permite que o servidor reagir às operações na barra de ferramentas que ele fornece.
A ID de bitmap da barra de ferramentas deve ser o mesmo sistema autônomo a Outros recursos no local definida no seu aplicativo de servidor.See Menus e recursos: Servidor adições para obter detalhes.
Para obter mais informações, consulte COleIPFrameWnd, COleResizeBar, and CDocTemplate::SetServerInfo in the Referência da biblioteca de classes.
Consulte também
Conceitos
Servidores: Implementando um servidor