Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este passo a passo ensina como adicionar um objeto Direct2D (D2D) básico a um projeto do Visual C++, da Biblioteca de Classes do Microsoft Foundation (MFC) e, em seguida, criar o projeto em um aplicativo que imprime "Olá, Mundo!" em um plano de fundo gradiente.
O passo a passo mostra como realizar essas tarefas:
Crie um aplicativo MFC.
Crie um pincel de cor sólida e um pincel de gradiente linear.
Modifique o pincel de gradiente para que ele seja alterado adequadamente quando a janela for redimensionada.
Implementar um manipulador de desenho D2D.
Verifique os resultados.
Observação
Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos de interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você tem e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Personalizando o IDE.
Pré-requisitos
Para concluir este passo a passo, você deve ter o Visual Studio instalado com o desenvolvimento da área de trabalho com carga de trabalho C++ e o MFC opcional do Visual C++ para o componente x86 e x64 .
Para criar um aplicativo MFC
Use o Assistente de Aplicativo MFC para criar um aplicativo MFC. Consulte Passo a passo: usando os novos controles de shell do MFC para obter instruções sobre como abrir o assistente para sua versão do Visual Studio.
Na caixa Nome , digite MFCD2DWalkthrough. Escolha OK.
No Assistente de Aplicativo MFC, escolha Concluir sem alterar nenhuma configuração.
Para criar um pincel de cor sólida e um pincel de gradiente linear
No Gerenciador de Soluções, no projeto MFCD2DWalkthrough , na pasta Arquivos de Cabeçalho , abra MFCD2DWalkthroughView.h. Adicione este código à
CMFCD2DWalkthroughViewclasse para criar três variáveis de dados:CD2DTextFormat* m_pTextFormat; CD2DSolidColorBrush* m_pBlackBrush; CD2DLinearGradientBrush* m_pLinearGradientBrush;Salve o arquivo e feche-o.
Na pasta Arquivos de Origem , abra MFCD2DWalkthroughView.cpp. No construtor da
CMFCD2DWalkthroughViewclasse, adicione este 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 seja alterado adequadamente quando a janela for redimensionada
No menu Projeto , escolha Assistente de Classe.
No Assistente de Classe MFC, em Nome da Classe, selecione
CMFCD2DWalkthroughView.Na guia Mensagens , na caixa Mensagens , selecione
WM_SIZEe escolha Adicionar Manipulador. Essa ação adiciona oOnSizemanipulador de mensagens àCMFCD2DWalkthroughViewclasse.Na caixa Manipuladores existentes , selecione
OnSize. Escolha Editar Código para exibir oCMFCD2DWalkthroughView::OnSizemétodo. No final do método, adicione o código a seguir.m_pLinearGradientBrush->SetEndPoint(CPoint(cx, cy));Salve o arquivo e feche-o.
Para implementar um manipulador de desenho D2D
No menu Projeto , escolha Assistente de Classe.
No Assistente de Classe MFC, em Nome da Classe, selecione
CMFCD2DWalkthroughView.Na guia Mensagens , escolha Adicionar Mensagem Personalizada.
Na caixa de diálogo Adicionar Mensagem Personalizada , na caixa de mensagem personalizada do Windows, digiteAFX_WM_DRAW2D. Na caixa de nome do manipulador de mensagens , digite OnDraw2D. Selecione a opção Mensagem Registrada e escolha OK. Essa ação adiciona um manipulador de mensagens para a mensagem AFX_WM_DRAW2D à
CMFCD2DWalkthroughViewclasse.Na caixa Manipuladores existentes , selecione
OnDraw2D. Escolha Editar Código para exibir oCMFCD2DWalkthroughView::OnDraw2Dmétodo. Use este código para oCMFCD2DWalkthroughView::OnDrawD2Dmé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
Crie e execute o aplicativo. Ele deve ter um retângulo gradiente que muda quando você redimensiona a janela. "Olá, Mundo!" deve ser exibido no centro do retângulo.