Sdílet prostřednictvím


Názorný postup: Nové ovládací prvky MFC prostředí pomocí

V tomto návodu vytvoříte aplikaci, která se podobá File Explorer.Vytvoříte okno, které obsahuje dvě podokna.V levém podokně budou obsahovat CMFCShellTreeCtrl objekt, který se zobrazuje v hierarchické zobrazení pracovní plochy.V pravém podokně budou obsahovat CMFCShellListCtrl , zobrazuje soubory ve složce vybrané v levém podokně.

Požadavky

Tento postup předpokládá, že jste nastavili Visual Studio pomocí Obecné nastavení pro vývoj.Pokud používáte rozvoje různých nastavení některé Visual Studio windows používajících v tomto návodu nemusí být zobrazeny ve výchozím nastavení.

Vytvořit novou aplikaci MFC pomocí Průvodce aplikace MFC

  1. Použití Průvodce aplikace MFC vytvořit novou aplikaci MFC.Spuštění průvodce z soubor nabídce vyberte Novýa pak vyberte projektu.Nový projekt se zobrazí dialogové okno.

  2. V Nový projekt dialogové okno pole, rozbalte položku Visual C++ v uzlu typy projektů podokně a vyberte MFC.Potom v šablony podokně vyberte Aplikace MFC.Zadejte název projektu, například MFCShellControls a na OK.Průvodce aplikace MFC se zobrazí.

  3. V Průvodce aplikace MFC dialogové okno, klepněte na tlačítko Další.Typ aplikace zobrazí podokno.

  4. Na Typ aplikace podokně pod typ aplikace, zrušte Tabbed dokumentů možnost.Dále vyberte jeden dokument a vyberte Architektura/zobrazení dokumentu podporu.Pod projektu styl, vyberte Visual Studioa styl a barvy rozevíracího seznamu vyberte Office 2007 (motiv modrá).Ponechte všechny možnosti jsou.Klepněte na tlačítko Další zobrazení Složené dokumentu podporu podokně.

  5. Na Složené dokumentu podporu podokně vyberte žádné.Klepněte na tlačítko Další zobrazení Řetězce šablony dokumentu podokně.

  6. Neprovádějte žádné změny Řetězce šablony dokumentu podokně.Klepněte na tlačítko Další zobrazení Podpora databáze podokně.

  7. Na Podpora databáze podokně vyberte žádný protože tato aplikace nepoužívá databáze.Klepněte na tlačítko Další zobrazení Funkce uživatelského rozhraní podokně.

  8. Na Funkce uživatelského rozhraní podokně zkontrolujte, zda pomocí nabídek a panelů nástrojů možnost.Ponechte všechny možnosti jsou.Klepněte na tlačítko Další zobrazení Rozšířené funkce podokně.

  9. Na Rozšířené funkce podokně pod Rozšířené funkce, vyberte pouze ovládací prvky ActiveX a Manifestu společné řízení.Pod Advanced podokna snímků, vyberte pouze navigačním podokně možnost.To způsobí vytvoření podokno vlevo od okna průvodce CMFCShellTreeCtrl již vloženy.Klepněte na tlačítko Další zobrazení Vytvářených tříd podokně.

  10. Nyní bude provádět žádné změny nejsou Vytvářených tříd podokně.Klepněte na tlačítko Dokončit k vytvoření nového projektu MFC.

  11. Ověřte, že aplikace byla úspěšně vytvořena vytvořením a spuštěním.Vytvoření aplikace, ze sestavení nabídce vyberte Sestavit řešení.Pokud aplikace úspěšně navazuje, spusťte aplikaci výběrem Spustit ladění z ladění nabídce.

    Průvodce automaticky vytvoří aplikace, která má standardní nabídek, standardní panel nástrojů, panel aplikace Outlook a standardní stavový řádek vlevo od okna složky zobrazení a Kalendář zobrazení.

Přidat ovládací prvek seznamu prostředí zobrazení dokumentu

  1. V této části přidáte instanci CMFCShellListCtrl , které vytvoří průvodce.Otevřete soubor záhlaví zobrazit poklepáním v MFCShellControlsView.h Aplikaci Solution Explorer.

    Vyhledejte #pragma once v horní části záhlaví souboru směrnice.Bezprostředně pod ní přidat tento kód zahrnout záhlaví souboru pro CMFCShellListCtrl:

    #include <afxShellListCtrl.h>
    

    Nyní přidat členské proměnné typu CMFCShellListCtrl.Nejprve v záhlaví souboru vyhledejte následující komentář:

    // Generated message map functions
    

    Bezprostředně nad poznámku přidejte tento kód:

    private:
        CMFCShellListCtrl m_wndList;
    
  2. Průvodce aplikace MFC již vytvořen CMFCShellTreeCtrl objektu v CMainFrame třídy, ale je chráněný člen.Později jsme bude přístup tohoto objektu.Proto přístupový objekt jej nyní vytvořte.Otevřete poklepáním v záhlaví souboru MainFrm.h Aplikaci Solution Explorer.Vyhledejte následující komentář:

    // Attributes
    

    Okamžitě, přidejte následující deklarace metody:

    public:
        CMFCShellTreeCtrl& GetShellTreeCtrl();
    

    V dalším poklepáním v otevřít zdrojový soubor MainFrm.cpp Aplikaci Solution Explorer.Na konec souboru přidejte následující definice metody:

    CMFCShellTreeCtrl& CMainFrame::GetShellTreeCtrl()
    {
        return m_wndTree;
    }
    
  3. Nyní budeme aktualizovat CMFCShellControlsView třídy ke zpracování WM_CREATE zprávy systému windows.Otevřete soubor záhlaví MFCShellControlsView.h a klepněte na tento řádek kódu:

    class CMFCShellControlsView : public CView
    

    V další Vlastnosti okna, klepněte zprávy ikonu.Posunout dolů, dokud nenajdete WM_CREATE zprávy.Z rozevíracího seznamu vedle WM_CREATE, vyberte <Add> OnCreate.To vytvoří obslužnou rutinu zpráva pro nás a automaticky aktualizuje mapy zprávy MFC.

    V OnCreate jsme nyní vytvořit metodu naše CMFCShellListCtrl objektu.Najít OnCreate definice metody v MFCShellControlsView.cpp zdrojovém souboru a jeho provádění nahraďte následující kód:

    int CMFCShellControlsView::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
        if (CView::OnCreate(lpCreateStruct) == -1)
            return -1;
    
        CRect rectDummy (0, 0, 0, 0);
        m_wndList.Create(WS_CHILD | WS_VISIBLE | LVS_REPORT,
            rectDummy, this, 1);
    
        return 0;
    }
    
  4. Opakujte předchozí krok, ale WM_SIZE zprávy.To způsobí zobrazení aplikace překreslit vždy, když uživatel změní velikost okna aplikace.Nahradit definici OnSize metodou s následujícím kódem:

    void CMFCShellControlsView::OnSize(UINT nType, int cx, int cy)
    {
        CView::OnSize(nType, cx, cy);
        m_wndList.SetWindowPos(NULL, -1, -1, cx, cy,
            SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
    }
    
  5. Posledním krokem je připojit CMFCShellTreeCtrl a CMFCShellListCtrl objektů pomocí CMFCShellTreeCtrl::SetRelatedList metoda.Po volání této metody CMFCShellListCtrl automaticky zobrazí obsah položky vybrané v CMFCShellTreeCtrl.Jsme to OnActivateView metoda přepsáno z CView::OnActivateView.

    V záhlaví souboru MFCShellControlsView.h uvnitř CMFCShellControlsView třídy prohlášení, přidejte následující deklarace metody:

    protected:
        virtual void OnActivateView(BOOL bActivate,
            CView* pActivateView,
            CView* pDeactiveView);
    

    Dále přidejte zdrojový soubor MFCShellControlsView.cpp definici pro tuto metodu:

    void CMFCShellControlsView::OnActivateView(BOOL bActivate,
        CView* pActivateView,
        CView* pDeactiveView) 
    {
        if (bActivate && AfxGetMainWnd() != NULL)
        {
            ((CMainFrame*)AfxGetMainWnd())->GetShellTreeCtrl().SetRelatedList(&m_wndList);
        }
    
        CView::OnActivateView(bActivate, pActivateView, pDeactiveView);
    }
    

    Protože jsme při volání metod z CMainFrame třídy, můžeme přidat #include směrnice v horní části zdrojového souboru MFCShellControlsView.cpp:

    #include "MainFrm.h"
    
  6. Ověřte, že aplikace byla úspěšně vytvořena vytvořením a spuštěním.Vytvoření aplikace, ze sestavení nabídce vyberte Sestavit řešení.Pokud aplikace úspěšně navazuje, spustit výběrem Spustit ladění z ladění nabídce.

    Nyní by měl zobrazit podrobnosti pro položku vybranou v CMFCShellTreeCtrl v podokně zobrazení.Když klepnete na uzel v CMFCShellTreeCtrl, CMFCShellListCtrl bude automaticky aktualizován.Podobně pokud poklepejte na složku v CMFCShellListCtrl, CMFCShellTreeCtrl by měl být aktualizován automaticky.

    Všechny položky ve stromové struktuře nebo ovládací prvek seznam, klepněte pravým tlačítkem myši.Všimněte si, jako by byly pomocí skutečné File Explorer získat stejné kontextové nabídky.

Další kroky

  • Průvodce vytvoří panel aplikace Outlook s oběma složky podokně a Kalendář podokna.Je pravděpodobně nemá smysl mít Kalendář podokna v okně aplikace Explorer.Proto nyní odeberte toto podokno.

  • CMFCShellListCtrl Podporuje prohlížení souborů v různých režimech, jako například Velké ikony, Malé ikony, seznam, a Podrobnosti O.Aktualizace k implementaci funkcí této aplikace.Hint: see Visual C++-vzory.

Viz také

Další zdroje

Návody (MFC)