Compartilhar via


Passo a passo: Adicionando um objeto D2D com para um projeto MFC

Esta explicação passo a passo ensina como adicionar um Direct2D básica (D2D com) o objeto para um projeto Microsoft Foundation Class Library (MFC), de Visual C++ e compilar o projeto em um aplicativo que imprime "Hello, world" em uma cor de fundo.

O passo a passo mostra como realizar estas tarefas:

  • Crie um aplicativo do MFC.

  • Crie um pincel de cor sólida e um pincel de gradiente linear.

  • Modificar o pincel de gradiente para que ele mudará adequadamente quando a janela é redimensionada.

  • Implemente um manipulador de D2D com desenho.

  • Verificar os resultados.

ObservaçãoObservação

Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações de Visual Studio.

Pré-requisitos

Para concluir esta explicação passo a passo, você deve ter Visual Studio.

Para criar um aplicativo MFC

  1. No menu File, aponte para New e clique Project.

  2. No Novo projeto caixa de diálogo, no painel esquerdo, em Modelos instalados, expanda Visual C++ e selecione MFC.No painel central, selecione Aplicativo MFC.No nome , digite MFCD2DWalkthrough.Clique em OK.

  3. No MFC Application Wizard, clique Concluir sem alterar as configurações.

Para criar um pincel de cor sólida e um pincel de gradiente linear

  1. Em Solution Explorer, o MFCD2DWalkthrough projeto, o Arquivos de cabeçalho pasta, abrir MFCD2DWalkthroughView.h.Adicione o seguinte código para o CMFCD2DWalkthroughView classe para criar três variáveis de dados.

    CD2DTextFormat* m_pTextFormat;
    CD2DSolidColorBrush* m_pBlackBrush;
    CD2DLinearGradientBrush* m_pLinearGradientBrush;
    

    Salve o arquivo e feche-o.

  2. No Arquivos de origem MFCD2DWalkthroughView.cpp abrir pasta.No construtor para o CMFCD2DWalkthroughView da classe, adicione o seguinte código.

    // Enable D2D support for this window:
    EnableD2DSupport();
    
    // Initialize D2D resources:
    m_pBlackBrush = new CD2DSolidColorBrush(GetRenderTarget(), D2D1::ColorF(D2D1::ColorF::Black));
    
    m_pTextFormat = new CD2DTextFormat(GetRenderTarget(), _T("Verdana"), 50);
    m_pTextFormat->Get()->SetTextAlignment(DWRITE_TEXT_ALIGNMENT_CENTER);
    m_pTextFormat->Get()->SetParagraphAlignment(DWRITE_PARAGRAPH_ALIGNMENT_CENTER);
    
    D2D1_GRADIENT_STOP gradientStops[2];
    
    gradientStops[0].color = D2D1::ColorF(D2D1::ColorF::White);
    gradientStops[0].position = 0.f;
    gradientStops[1].color = D2D1::ColorF(D2D1::ColorF::Indigo);
    gradientStops[1].position = 1.f;
    
    m_pLinearGradientBrush = new CD2DLinearGradientBrush(GetRenderTarget(), 
        gradientStops, ARRAYSIZE(gradientStops),
        D2D1::LinearGradientBrushProperties(D2D1::Point2F(0, 0), D2D1::Point2F(0, 0)));
    

    Salve o arquivo e feche-o.

Para modificar o pincel de gradiente para que ele mudará adequadamente quando a janela é redimensionada

  1. Sobre o projeto menu, clique em Assistente de classe.

  2. No Assistente de classe do MFC, em o nome da classe, selecione CMFCD2DWalkthroughView.

  3. No mensagens guia, o mensagens caixa, selecione WM_SIZE e clique em Adicionar manipulador.Essa ação adiciona o OnSize manipulador de mensagem para o CMFCD2DWalkthroughView classe.

  4. No existente manipuladores caixa, selecione OnSize.Clique em Editar código para exibir o CMFCD2DWalkthroughView::OnSize método.No final do método, adicione o seguinte código.

    m_pLinearGradientBrush->SetEndPoint(CPoint(cx, cy));
    

    Salve o arquivo e feche-o.

Para implementar um manipulador de desenho D2D com

  1. Sobre o projeto menu, clique em Assistente de classe.

  2. No Assistente de classe do MFC, em o nome da classe, selecione CMFCD2DWalkthroughView.

  3. Sobre o mensagens , clique em Adicionar mensagem personalizada.

  4. No Adicionar mensagem personalizada na caixa de Mensagem do Windows personalizada , digite AFX_WM_DRAW2D.No nome do manipulador de mensagem , digite OnDraw2D.Selecione o Mensagem registrado opção e, em seguida, clique em OK.Essa ação adiciona um manipulador de mensagem para o AFX_WM_DRAW2D mensagem para o CMFCD2DWalkthroughView classe.

  5. No existente manipuladores caixa, selecione OnDraw2D.Clique em Editar código para exibir o CMFCD2DWalkthroughView::OnDraw2D método.Use o seguinte código para o CMFCD2DWalkthroughView::OnDrawD2D método.

    afx_msg LRESULT CMFCD2DWalkthroughView::OnDraw2D(WPARAM wParam, LPARAM lParam)
    {
        CHwndRenderTarget* pRenderTarget = (CHwndRenderTarget*)lParam;
        ASSERT_VALID(pRenderTarget);
    
        CRect rect;
        GetClientRect(rect);
    
        pRenderTarget->FillRectangle(rect, m_pLinearGradientBrush);
        pRenderTarget->DrawText(_T("Hello, World!"), rect, m_pBlackBrush, m_pTextFormat);
    
        return TRUE;
    }
    

    Salve o arquivo e feche-o.

Para verificar os resultados

  • Criar e executar o aplicativo.Ele deve ter um retângulo de gradiente é alterado quando você redimensionar a janela."Hello World!" deve ser exibido no centro do retângulo.

Consulte também

Outros recursos

Explicações passo a passo (MFC)