Sdílet prostřednictvím


Názorný postup: Aktualizace aplikace Klikyháky MFC (část 1)

Názorný postup při úpravě existující uživatelské rozhraní pásu karet aplikace MFC.Visual Studio podporuje pásu Office 2007 a Windows 7 Scenic pásu.Další informace o uživatelském rozhraní pásu karet, viz pásy na webu MSDN.

Tento názorný postup upravuje klasické Klikyháky MFC 1.0 vzorek, který umožňuje vytvářet kresby pomocí myši.Tato část návod ukazuje, jak upravit vzorek Klikyháky zobrazuje panel pásu karet.Část 2 přidá více tlačítek panelu pásu karet.

Požadavky

Visual C++-vzory

Visual C++-vzory

Oddíly

Tato část návod obsahuje následující oddíly:

  • Nahrazení základní třídy

  • Přidávání bitmapy do projektu

  • Přidávání pásu zdroje do projektu

  • Vytvoření Instance pruh pásu karet

  • Přidání kategorie pásu karet

  • Nastavení vzhledu aplikace

Nahrazení základní třídy

Chcete-li převést aplikaci, která podporuje nabídky aplikace, která podporuje pásu karet, musí pocházet z aktualizovaných základní třídy aplikace, rámeček okna a třídy nástrojů.(Doporučujeme měnit původní Klikyháky vzorku; místo toho čištění projektu Klikyháky, zkopírovat do jiného adresáře a upravte kopii.)

Nahradit základní třídy v aplikaci Klikyháky

  1. V scribble.cpp, ověřte, zda CScribbleApp::InitInstance obsahuje volání AfxOleInit.

  2. Přidejte následující kód do souboru stdafx.h.

    #include <afxcontrolbars.h>
    
  3. V scribble.h, upravit definici CScribbleApp tak, že je odvozen od třídy Třída CWinAppEx.

    class CScribbleApp: public CWinAppEx
    
  4. Klikyháky 1.0 byl napsán při aplikací systému Windows (INI) inicializačního souboru uložit data předvoleb uživatele.Místo inicializačního souboru změňte Klikyháky ukládání preferencí uživatele v registru.Chcete-li nastavit klíč registru a base, zadejte následující kód v CScribbleApp::InitInstance po LoadStdProfileSettings() prohlášení.

    SetRegistryKey(_T("MFCNext\\Samples\\Scribble2"));
    SetRegistryBase(_T("Settings"));
    
  5. Hlavní rámec pro více aplikací rozhraní dokumentu již získané z CMDIFrameWnd třídy.Místo toho je odvozen z CMDIFrameWndEx třídy.

    Soubory mainfrm.h a mainfrm.cpp nahradit všechny odkazy na CMDIFrameWnd s CMDIFrameWndEx.

  6. Nahrazení souborů childfrm.h a childfrm.cpp CMDIChildWnd s CMDIChildWndEx.

    V childfrm.h soubor nahradit CSplitterWnd s CSplitterWndEx.

  7. Upravte panely nástrojů a stavový použití nových tříd MFC.

    V souboru mainfrm.h:

    1. Replace CToolBar with CMFCToolBar.

    2. Replace CStatusBar with CMFCStatusBar.

  8. V souboru mainfrm.cpp:

    1. Nahradit m_wndToolBar.SetBarStyle sm_wndToolBar.SetPaneStyle

    2. Nahradit m_wndToolBar.GetBarStyle sm_wndToolBar.GetPaneStyle

    3. Nahradit DockControlBar(&m_wndToolBar) sDockPane(&m_wndToolBar)

  9. V souboru ipframe.cpp poznámky, následující tři řádky kódu.

    m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
    pWndFrame->EnableDocking(CBRS_ALIGN_ANY);
    pWndFrame->DockPane(&m_wndToolBar);
    
  10. Pokud chcete propojit aplikace staticky, přidejte následující kód na začátek souboru prostředků (.rc) projektu.

    #include "afxribbon.rc"
    

    Soubor afxribbon.rc obsahuje zdroje, které jsou požadovány v době spuštění.Průvodce aplikací knihovny MFC Zahrnuje tento soubor automaticky při vytvoření aplikace.

  11. Uložit změny a sestavit a spustit aplikaci.

[Oddíly]

Přidávání bitmapy do projektu

Další čtyři kroky tohoto postupu vyžaduje prostředků bitmapy.Můžete získat odpovídající rastrové obrázky různými způsoby:

  • Použití Editory prostředků a vytvořte vlastní rastrové obrázky.Nebo pomocí prostředků editory sestavit bitmapy z obrazy portable network graphics (PNG), které jsou součástí Visual Studio.Tyto obrázky jsou VS2008ImageLibrary adresáře.

    Uživatelské rozhraní pás karet však vyžaduje, že některé rastry podporují průhledné obrázky.Průhledné bitmapy používají 32bitové pixelů, kde 24 bitů komponenty červené, zelené a modré barvy a určete 8 bitů alfa kanál , určuje průhlednost barvy.Aktuální editory zdrojů můžete zobrazit, ale úpravy bitmap s obrazovými body 32-bit.V důsledku toho průhledné bitmapy manipulovat pomocí editoru externí obraz namísto editory prostředku.

  • Zkopírujte soubor příslušný prostředek z jiné aplikace do projektu a potom importujte ze souboru bitmapy.

Tento návod zkopíruje zdrojové soubory z aplikace v adresáři Samples.

Rastrové obrázky přidat do projektu

  1. Použijte Průzkumník zkopírujte následující soubory BMP z adresáře zdrojů (res) RibbonGadgets vzorku:

    1. Zkopírujte main.bmp do projektu Klikyháky.

    2. Kopírovat do projektu Klikyháky filesmall.bmp a filelarge.bmp.

    3. Vytvořit nové kopie souborů filelarge.bmp a filesmall.bmp, ale uložit kopie v RibbonGadgets vzorku.Přejmenování kopií homesmall.bmp a homelarge.bmp a přesuňte kopie projektu Klikyháky.

    4. Vytvořte kopii souboru toolbar.bmp, ale uložit kopii ve vzorku RibbonGadgets.Přejmenování panelicons.bmp kopie a kopii přemístit do projektu Klikyháky.

  2. Importujte bitmapové aplikace MFC.V Zobrazení zdrojů, poklepejte scribble.rc uzlu, poklepejte na rastrový uzlu a pak klepněte na Přidat zdroj.V dialogovém okně, které se zobrazí, klepněte na příkaz Import.Vyhledejte res adresář, vyberte soubor main.bmp a klepněte na tlačítko otevřených.

    Obsahuje main.bmp rastrový obrázek 26 x 26.Změníte ID bitmapy na IDB_RIBBON_MAIN.

  3. Importujte rastrové obrázky připojené k aplikaci tlačítko nabídky soubor.

    1. Importovat soubor filesmall.bmp, který obsahuje deset 16 x 16 (16 x 160) obrazy.Protože potřebujeme obrazy pouze osm 16 x 16 (16 x 128), použít Zobrazení zdrojů změnit šířku bitmapu od 160 do 128.Změníte ID bitmapy na IDB_RIBBON_FILESMALL.

    2. Filelarge.bmp, který obsahuje osm 32 x 32 (32 x 256) import obrazů.Změníte ID bitmapy na IDB_RIBBON_FILELARGE.

  4. Importujte rastrové obrázky pro kategorie pásu karet a panely.Každá karta na pásu karet panelu je kategorie a obsahuje textový popisek a nepovinný obraz.

    1. Homesmall.bmp rastr, který obsahuje osm 16 x 16 bitových kopií pro bitmapy na malé tlačítko importujte.Změníte ID bitmapy na IDB_RIBBON_HOMESMALL.

    2. Homelarge.bmp rastr, který obsahuje osm 32 x 32 bitových kopií pro bitmapy na velké tlačítko importujte.Změníte ID bitmapy na IDB_RIBBON_HOMELARGE.

  5. Importovat rastrové obrázky pro panely změněnou velikostí pásu karet.Tyto bitmapy nebo ikony panelu se používají po operaci velikosti Pokud pás karet je příliš malý, zobrazíte celý panel.

    1. Importujte rastru panelicons.bmp obsahuje osm 16 x 16 bitových kopií.V Vlastnosti okno Bitmapový Editor, upravte šířku rastrový obrázek (16 x 64) 64.Změníte ID bitmapy na IDB_PANEL_ICONS.

[Oddíly]

Přidávání pásu zdroje do projektu

Při převodu aplikace používající nabídek aplikace používající pásu karet není nutné odebrat nebo zakázat existující nabídky.Místo toho vytvořte prostředek pásu, přidejte tlačítka pásu karet a nová tlačítka přiřadit existující položky nabídky.Přestože nabídky již nejsou viditelné, směrovány zprávy z pásu karet panel nabídek.Kromě toho zástupci v nabídce pokračovat v práci.

Pásu karet se skládá z aplikace tlačítko, které je na velké tlačítko na levé horní straně pásu a jeden nebo více karet kategorie.Každá karta kategorie obsahuje jeden nebo více panelů, které fungují jako kontejnery pro pásu tlačítka a ovládací prvky.Následující postup ukazuje vytvoření prostředku pásu karet a upravte tlačítko aplikace.

Na pásu karet zdroj přidat do projektu

  1. Na projektu nabídky, klepněte na tlačítko Přidat zdroj.

  2. V Přidat zdroj vyberte položku pásu a klepněte na tlačítko Nový.

    Visual Studio prostředku pásu vytvoří a otevře v návrhovém zobrazení.ID zdroje pásu je IDR_RIBBON1, který je zobrazen v Zobrazení zdrojů.Pás karet obsahuje jednu kategorii a jeden panel.

  3. Tlačítko aplikace můžete upravit změnou jeho vlastností.ID zprávy používané v tomto kódu jsou již definovány v nabídce Klikyháky 1.0.

  4. V návrhovém zobrazení klepněte na tlačítko aplikace zobrazit jeho vlastnosti.Takto změnit hodnoty vlastností: obraz na IDB_RIBBON_MAIN, Příkazový řádek na soubor, klíčů na f, Velké obrazy na IDB_RIBBON_FILELARGE, a Malé obrázky na IDB_RIBBON_FILESMALL.

  5. Vytvořte následující úpravy nabídky, která se zobrazí po klepnutí na tlačítko aplikace.Klepněte na tlačítko se třemi tečkami (...) vedle Hlavní položky otevřete Editor položek.

    1. Klepněte na tlačítko Přidat na tlačítko Přidat.Change Caption to &New, ID to ID_FILE_NEW, Image to 0, Image Large to 0.

    2. Klepněte na tlačítko Přidat druhé tlačítko Přidat.Change Caption to &Save, ID to ID_FILE_SAVE, Image to 2, and Image Large to 2.

    3. Klepněte na tlačítko Přidat třetí tlačítko Přidat.Change Caption to Save &As, ID to ID_FILE_SAVE_AS, Image to 3, and Image Large to 3.

    4. Klepněte na tlačítko Přidat čtvrté tlačítko Přidat.Change Caption to &Print, ID to ID_FILE_PRINT, Image to 4, and Image Large to 4.

    5. Změnit zboží typu Oddělovač a klepněte na tlačítko Přidat.

    6. Změnit zboží typu tlačítko.Klepněte na tlačítko Přidat páté tlačítko Přidat.Change Caption to &Close, ID to ID_FILE_CLOSE, Image to 5, and Image Large to 5.

  6. Vytvořte následující úpravy podnabídky pod tlačítkem Tisk, který jste vytvořili v předchozím kroku.

    1. Klepněte Tisk tlačítka, změňte zboží typu Popiseka klepněte na tlačítko Vložit.Změna Titulek na Náhled a tisk dokumentu.

    2. Klepněte Tisk tlačítka, změňte zboží typu tlačítkoa klepněte na tlačítko Vložit.Change Caption to &Print, ID to ID_FILE_PRINT, Image to 4, and Image Large to 4.

    3. Klepněte Tisk tlačítko a potom klepněte na tlačítko Vložit přidat tlačítko.Změna Titulek na & Rychlý tisk, ID na ID_FILE_PRINT_DIRECT, obraz na 7, a velký obraz na 7.

    4. Klepněte Tisk tlačítko a potom klepněte na tlačítko Vložit jiné tlačítko Přidat.Změna Titulek na & hled tisku, ID na ID_FILE_PRINT_PREVIEW, obraz na 6, a Velký obraz na6.

    5. Nyní změněna Hlavní položky.Klepněte na tlačítko Zavřít ukončete Editor položek.

  7. Následující modifikace vytvoří konec tlačítko, které se zobrazí v dolní části tlačítka nabídky aplikace.

    1. V Vlastnosti okna, klepněte na tlačítko se třemi tečkami (...) vedle tlačítko otevřete Editor položek.

    2. Klepněte na tlačítko Přidat na tlačítko Přidat.Change Caption to E&xit, ID to ID_APP_EXIT, Image to8.

[Oddíly]

Vytvoření Instance pruh pásu karet

Následující kroky popisují způsob vytvoření instance pruh pásu při spuštění aplikace.Chcete-li přidat panel pásu karet aplikace, prohlásit pruh pásu karet v souboru mainfrm.h.Poté v souboru mainfrm.cpp napište kód načíst zdroj pásu karet.

Vytvoření instance pruh pásu karet

  1. V souboru mainfrm.h přidat člena do chráněné části CMainFrame, definice třídy pro hlavní rámec.Tento člen představuje pruh pásu karet.

    // Ribbon bar for the application
    CMFCRibbonBar  m_wndRibbonBar;
    
  2. V souboru mainfrm.cpp přidejte následující kód před poslední return prohlášení na konci CMainFrame::OnCreate funkce.Vytvoří instanci pruh pásu karet.

    // Create the ribbon bar
    if (!m_wndRibbonBar.Create(this))
    {
    return -1;   //Failed to create ribbon bar
    }
    m_wndRibbonBar.LoadFromResource(IDR_RIBBON1);
    

[Oddíly]

Přizpůsobení pásu karet zdrojů

Nyní, když jste vytvořili aplikaci tlačítko, můžete přidat prvky do pásu karet.

[!POZNÁMKA]

Tento návod používá stejné ikonu panelu pro všechny panely.Však ostatních seznamu indexů obrazu můžete zobrazit další ikony.

Domovská stránka kategorie přidat a upravit panel

  1. Program Klikyháky vyžaduje pouze jednu kategorii.V návrhovém zobrazení klepněte na tlačítko kategorie zobrazit jeho vlastnosti.Změna hodnoty vlastnosti takto: Titulek na & Home, Velké obrazy na IDB_RIBBON_HOMELARGE, Malé obrázky na IDB_RIBBON_HOMESMALL.

  2. Každá kategorie pásu je uspořádáno do pojmenované panely.Každý panel obsahuje sadu ovládacích prvků, které provádějí operace související.Tato kategorie obsahuje jeden panel.Klepněte na tlačítko Panela potom změňte Titulek na Upravit a Index obrázku na 0.

  3. A Upravit panel, přidat tlačítko, které je odpovědný za obsah dokumentu.ID zprávy pro toto tlačítko již byl definován v nabídce zdroje IDR_SCRIBBTYPE.Určit Vymazat všechny jako text tlačítka a index bitmapy, decorates na tlačítko.Otevřít nástrojůa potom přetáhněte tlačítko do Upravit panel.Klepněte na tlačítko a potom změňte Titulek na Vymazat vše, ID na ID_EDIT_CLEAR_ALL, Index obrázku na 0, Index velký obraz na 0.

  4. Uložit změny a sestavit a spustit aplikaci.Klikyháky aplikace by měly být zobrazeny a by měla mít pásu pruh v horní části okna namísto panel nabídek.Panel pásu by měla mít jednu kategorii Home, a Home by měl mít jeden panel Upravit.Tlačítka pásu karet, která jste přidali by měla být spojena s existujícím obslužné rutiny událostí a otevřených, Zavřít, Uložit, Tisk, a Vymazat vše tlačítka by měla fungovat očekávaným způsobem.

[Oddíly]

Nastavení vzhledu aplikace

A visual manager je globální objekt, který řídí všechny kresby aplikace.Protože původní Klikyháky aplikace používá styl uživatelského rozhraní (UI) sady Office 2000, může vypadat staromódní aplikace.Obnovit aplikaci pomocí vizuální správce Office 2007, takže připomíná aplikace Office 2007.

Nastavit vzhled aplikace

  1. V CMainFrame::OnCreate funkci, zadejte následující kód, můžete změnit výchozí vizuální správce a styl.

    // Set the default manager to Office 2007 
    CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerOffice2007));
    CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007_LunaBlue);
    
  2. Uložit změny a sestavit a spustit aplikaci.V uživatelském rozhraní aplikace by měl vypadat uživatelského rozhraní sady Office 2007.

[Oddíly]

Další kroky

Změnili jste klasické Klikyháky MFC 1.0 vzorku použít Návrhář pásu karet.Nyní přejděte k část 2.

Viz také

Úkoly

Názorný postup: Aktualizace aplikace Klikyháky MFC (část 2)

Další zdroje

Návody (MFC)