Sdílet prostřednictvím


Názorný postup: Přidání objektu D2D projektu MFC

Uživatelům tento návod jak přidat základní Direct2D (D2D) objektu do jazyka Visual C++, Microsoft Foundation Class knihovny MFC () projektu a potom vytvořit projekt do aplikace, která tiskne "Hello, world" na pozadí přechodu.

Návod ukazuje, jak lze provádět tyto úkoly:

  • Vytvořte aplikaci MFC.

  • Vytvoření plné barvě stopy a stopy lineárního přechodu.

  • Stopu přechod upravte, aby se odpovídajícím způsobem změní, při změně velikosti okna.

  • Implementujte výkresu popisovač D2D.

  • Ověřte výsledky.

[!POZNÁMKA]

Ve vašem počítači se pro některé z prvků uživatelského rozhraní sady Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedeny v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Nastavení aplikace Visual Studio.

Požadavky

K dokončení tohoto postupu musíte mít aplikaci Visual Studio.

Vytvoření aplikace MFC

  1. V nabídce Soubor přejděte na příkaz Nový a klikněte na Projekt.

  2. V Nový projekt dialogové okno v levém panelu pod Nainstalované šablony, rozbalte položku Visual C++ a vyberte MFC.V prostředním podokně vyberte Aplikace MFC.V název zadejte MFCD2DWalkthrough.Klikněte na tlačítko OK.

  3. V Průvodce aplikace MFC, klepněte na tlačítko Dokončit beze změny nastavení.

Vytvoření plné barvě stopy a stopy lineární přechod

  1. V Aplikaci Solution Explorerv MFCD2DWalkthrough v projektu Záhlaví souborů složku otevřít MFCD2DWalkthroughView.h.Přidejte následující kód CMFCD2DWalkthroughView třídy tři proměnné data vytvoření.

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

    Soubor uložte a zavřete.

  2. V Zdrojové soubory složku otevřít MFCD2DWalkthroughView.cpp.V konstruktoru pro CMFCD2DWalkthroughView třídy, přidejte následující kód.

    // 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)));
    

    Soubor uložte a zavřete.

Upravit přechod stopy tak, aby se odpovídajícím způsobem změní, při změně velikosti okna

  1. Na projektu nabídky, klepněte na tlačítko Třídy Průvodce.

  2. V Průvodce třídy MFCpod název třídy, vyberte CMFCD2DWalkthroughView.

  3. Na zprávy karta v zprávy vyberte položku WM_SIZE a klepněte na tlačítko Přidat popisovač.Tato akce přidá OnSize Obsluha zprávy CMFCD2DWalkthroughView třídy.

  4. V stávající obslužné rutiny vyberte položku OnSize.Klepněte na tlačítko Upravit kód zobrazení CMFCD2DWalkthroughView::OnSize metoda.Následující kód přidejte na konec metody.

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

    Soubor uložte a zavřete.

K provedení výkresu popisovač D2D

  1. Na projektu nabídky, klepněte na tlačítko Třídy Průvodce.

  2. V Průvodce třídy MFCpod název třídy, vyberte CMFCD2DWalkthroughView.

  3. Na zprávy kartu, klepněte na tlačítko Zprávy přidat vlastní.

  4. V Zprávy přidat vlastní v dialogovém okně pole Vlastní zprávy systému Windows zadejte AFX_WM_DRAW2D.V název obslužné rutiny zpráv zadejte OnDraw2D.Vyberte Zpráva registrované možnost a potom klepněte na tlačítko OK.Tím přidáte popisovač zprávy AFX_WM_DRAW2D zprávy CMFCD2DWalkthroughView třídy.

  5. V stávající obslužné rutiny vyberte položku OnDraw2D.Klepněte na tlačítko Upravit kód zobrazení CMFCD2DWalkthroughView::OnDraw2D metoda.Použijte následující kód CMFCD2DWalkthroughView::OnDrawD2D metoda.

    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;
    }
    

    Soubor uložte a zavřete.

Ověření výsledků

  • Sestavte a spusťte aplikaci.Měl by mít přechodem obdélník, který změní velikost okna."Hello World!" má být zobrazen ve středu obdélníku.

Viz také

Další zdroje

Návody (MFC)