Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette procédure pas à pas explique comment ajouter un objet Direct2D (D2D) de base à un projet Visual C++, MFC (Microsoft Foundation Class Library), puis générer le projet dans une application qui imprime « Hello, World ! » sur un arrière-plan dégradé.
La procédure pas à pas montre comment effectuer ces tâches :
Créez une application MFC.
Créez un pinceau de couleur unie et un pinceau de dégradé linéaire.
Modifiez le pinceau dégradé de façon à ce qu’il change correctement lorsque la fenêtre est redimensionnée.
Implémentez un gestionnaire de dessinS D2D.
Vérifiez les résultats.
Remarque
Votre ordinateur peut afficher différents noms ou emplacements pour certains des éléments de l’interface utilisateur Visual Studio dans les instructions suivantes. L’édition Visual Studio que vous avez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d’informations, consultez Personnaliser l’IDE.
Conditions préalables
Pour effectuer cette procédure pas à pas, Visual Studio doit être installé avec la charge de travail Développement Desktop avec la charge de travail C++ et le composant MFC Visual C++ facultatif pour x86 et x64 .
Pour créer une application MFC
Utilisez l’Assistant Application MFC pour créer une application MFC. Consultez la procédure pas à pas : utilisation des nouveaux contrôles Shell MFC pour obtenir des instructions sur l’ouverture de l’Assistant pour votre version de Visual Studio.
Dans la zone Nom , tapez MFCD2DWalkthrough. Choisissez OK.
Dans l’Assistant Application MFC, choisissez Terminer sans modifier de paramètres.
Pour créer un pinceau de couleur unie et un pinceau de dégradé linéaire
Dans l’Explorateur de solutions, dans le projet MFCD2DWalkthrough , dans le dossier Fichiers d’en-tête , ouvrez MFCD2DWalkthroughView.h. Ajoutez ce code à la
CMFCD2DWalkthroughViewclasse pour créer trois variables de données :CD2DTextFormat* m_pTextFormat; CD2DSolidColorBrush* m_pBlackBrush; CD2DLinearGradientBrush* m_pLinearGradientBrush;Enregistrez le fichier et fermez-le.
Dans le dossier Fichiers sources , ouvrez MFCD2DWalkthroughView.cpp. Dans le constructeur de la
CMFCD2DWalkthroughViewclasse, ajoutez ce code :// 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)));Enregistrez le fichier et fermez-le.
Pour modifier le pinceau dégradé afin qu’il change correctement lorsque la fenêtre est redimensionnée
Dans le menu Projet , choisissez Assistant Classe.
Dans l’Assistant Classe MFC, sous Nom de classe, sélectionnez
CMFCD2DWalkthroughView.Sous l’onglet Messages , dans la zone Messages , sélectionnez
WM_SIZE, puis choisissez Ajouter un gestionnaire. Cette action ajoute leOnSizegestionnaire de messages à laCMFCD2DWalkthroughViewclasse.Dans la zone Gestionnaires existants , sélectionnez
OnSize. Choisissez Modifier le code pour afficher laCMFCD2DWalkthroughView::OnSizeméthode. À la fin de la méthode, ajoutez le code suivant.m_pLinearGradientBrush->SetEndPoint(CPoint(cx, cy));Enregistrez le fichier et fermez-le.
Pour implémenter un gestionnaire de dessinS D2D
Dans le menu Projet , choisissez Assistant Classe.
Dans l’Assistant Classe MFC, sous Nom de classe, sélectionnez
CMFCD2DWalkthroughView.Sous l’onglet Messages , choisissez Ajouter un message personnalisé.
Dans la boîte de dialogue Ajouter un message personnalisé , dans la zone Message Windows personnalisé , tapez AFX_WM_DRAW2D. Dans la zone nom du gestionnaire de messages , tapez OnDraw2D. Sélectionnez l’option Message inscrit , puis choisissez OK. Cette action ajoute un gestionnaire de messages pour le message AFX_WM_DRAW2D à la
CMFCD2DWalkthroughViewclasse.Dans la zone Gestionnaires existants , sélectionnez
OnDraw2D. Choisissez Modifier le code pour afficher laCMFCD2DWalkthroughView::OnDraw2Dméthode. Utilisez ce code pour laCMFCD2DWalkthroughView::OnDrawD2Dméthode :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; }Enregistrez le fichier et fermez-le.
Pour vérifier les résultats
Générez et exécutez l’application. Il doit avoir un rectangle de dégradé qui change lorsque vous redimensionnez la fenêtre. « Hello World ! » doit être affiché au centre du rectangle.