Udostępnij za pośrednictwem


Instruktaż: Aktualizacja aplikacji Bazgroły MFC (część 1)

W tym instruktażu przedstawiono sposób modyfikowania istniejącej aplikacji MFC korzystanie ze Wstążki.Visual Studio obsługuje wstążki pakietu Office 2007 i wstążki Scenic Windows 7.Aby uzyskać więcej informacji o interfejsie użytkownika Wstążki, zobacz wstążki w witrynie MSDN w sieci Web.

W tym instruktażu modyfikuje klasyczne próbka Bazgroły MFC 1.0, która umożliwia tworzenie rysunków za pomocą myszy.Ta część instruktażu przedstawiono zmodyfikować próbkę Bazgroły Wyświetla pasek wstążki.Część 2 dodaje więcej przycisków na pasku wstążki.

Wymagania wstępne

Visual C++ — przykłady

Visual C++ — przykłady

Sekcje

Ta część instruktaż zawiera następujące sekcje:

  • Zastępowanie klas podstawowych

  • Dodawanie bitmap do projektu

  • Dodawanie zasobów wstążki do projektu

  • Tworzenie instancji paska wstążki

  • Dodawanie kategorii wstążki

  • Ustawienie wygląd aplikacji

Zastępowanie klas podstawowych

Przekonwertować aplikacji obsługującej menu do aplikacji obsługującej wstążki, musi pochodzić z aplikacji, okno ramek i narzędzi klas od zaktualizowane klasy podstawowej.(Sugerujemy nie należy modyfikować oryginalnej próbki Bazgroły; Zamiast tego czyszczenia projektu Bazgroły, skopiować go do innego katalogu, a następnie zmodyfikuj kopię.)

Aby zastąpić podstawowych klas w aplikacji Bazgroły

  1. W scribble.cpp, sprawdź, czy CScribbleApp::InitInstance zawiera wywołanie AfxOleInit.

  2. Dodaj następujący kod do pliku stdafx.h.

    #include <afxcontrolbars.h>
    
  3. W scribble.h, należy zmodyfikować definicję CScribbleApp klasy, tak że wynika to z Klasa CWinAppEx.

    class CScribbleApp: public CWinAppEx
    
  4. Bazgroły 1.0 został napisany z aplikacji systemu Windows używanego pliku inicjalizacji (.ini) do zapisania danych preferencji użytkownika.Zamiast pliku inicjującego zmodyfikować Bazgroły do preferencje użytkownika są przechowywane w rejestrze.Aby ustawić klucz rejestru i base, wpisz następujący kod w CScribbleApp::InitInstance po LoadStdProfileSettings() instrukcji.

    SetRegistryKey(_T("MFCNext\\Samples\\Scribble2"));
    SetRegistryBase(_T("Settings"));
    
  5. Ramkę główną dla wielu aplikacji interfejsu (MDI) dokumentu nie jest pochodną CMDIFrameWnd klasy.Zamiast tego jest pochodną CMDIFrameWndEx klasy.

    W plikach mainfrm.h i mainfrm.cpp, Zamień wszystkie odniesienia do CMDIFrameWnd z CMDIFrameWndEx.

  6. W plikach childfrm.h i childfrm.cpp zastępuje CMDIChildWnd z CMDIChildWndEx.

    W childfrm.h plik zastąpić CSplitterWnd z CSplitterWndEx.

  7. Modyfikowanie pasków narzędzi i paskach stanu, aby użyć nowych klas MFC.

    W pliku mainfrm.h:

    1. Replace CToolBar with CMFCToolBar.

    2. Replace CStatusBar with CMFCStatusBar.

  8. W pliku mainfrm.cpp:

    1. Zamień m_wndToolBar.SetBarStyle zm_wndToolBar.SetPaneStyle

    2. Zamień m_wndToolBar.GetBarStyle zm_wndToolBar.GetPaneStyle

    3. Zamień DockControlBar(&m_wndToolBar) zDockPane(&m_wndToolBar)

  9. W pliku ipframe.cpp komentarz następujące trzy linie kodu.

    m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
    pWndFrame->EnableDocking(CBRS_ALIGN_ANY);
    pWndFrame->DockPane(&m_wndToolBar);
    
  10. Jeśli użytkownik zamierza połączyć aplikacji statycznie, Dodaj następujący kod do początku pliku projektu zasobu (.rc).

    #include "afxribbon.rc"
    

    Plik afxribbon.rc zawiera zasoby, które są wymagane w czasie wykonywania.Kreator aplikacji MFC Zawiera ten plik automatycznie, podczas tworzenia aplikacji.

  11. Zapisz zmiany i utworzyć i uruchomić aplikację.

[Sekcje]

Dodawanie bitmap do projektu

Cztery kroki w tym instruktażu wymagają zasobów mapy bitowej.Można uzyskać stosowne bitmapy na różne sposoby:

  • Użyj Edytory zasobów wypracować własne bitmapy.Lub złożyć bitmapy z portable network graphics (.png) obrazy są dołączone za pomocą edytorów zasobów Visual Studio.Obrazy są w VS2008ImageLibrary katalogu.

    Wstążka interfejsu użytkownika wymaga jednak, że niektóre mapy bitowe obsługują przezroczyste obrazy.Bitmapy przezroczyste użyć 32-bitowych pikseli, gdzie 24 bity określić składniki koloru czerwonego, zielonego i niebieskiego, i zdefiniować 8 bitów kanału alfa , który określa Przezroczystość koloru.Bieżący edytory zasobów można przeglądać, ale nie modyfikować bitmapy z 32-bitowych pikseli.W związku z tym należy użyć edytora zewnętrznego zamiast edytory zasobu, do manipulowania bitmapy przezroczyste.

  • Skopiować plik odpowiedni zasób z innej aplikacji do projektu, a następnie zaimportować ten plik bitmapy.

W tym instruktażu kopiuje pliki zasobów aplikacji w katalogu Samples.

Dodawanie bitmap do projektu

  1. Skopiuj następujące pliki BMP z katalogu zasobów za pomocą Eksploratora plików (res) próbki RibbonGadgets:

    1. Skopiuj main.bmp projektu Bazgroły.

    2. Skopiuj filesmall.bmp i filelarge.bmp do projektu Bazgroły.

    3. Tworzenie nowych kopii plików filelarge.bmp i filesmall.bmp, ale Zapisz kopie w próbce RibbonGadgets.Zmień nazwę kopii homesmall.bmp i homelarge.bmp, a następnie przenieś kopie do projektu Bazgroły.

    4. Utwórz kopię pliku toolbar.bmp, ale zapisać kopię w próbce RibbonGadgets.Zmień nazwę panelicons.bmp kopii, a następnie przenieść kopię projektu Bazgroły.

  2. Importowanie bitmapy dla aplikacji MFC.W Widok zasobów, kliknij dwukrotnie scribble.rc węzła, kliknij dwukrotnie Bitmap węzeł, a następnie kliknij zasobów Dodaj.W wyświetlonym oknie dialogowym kliknij przycisk przywóz.Przejdź do res katalogu, zaznacz plik main.bmp, a następnie kliknij przycisk Otwórz.

    Mapa bitowa main.bmp zawiera obraz 26 x 26.Zmień identyfikator mapy bitowej na IDB_RIBBON_MAIN.

  3. Importowanie bitmapy w menu Plik dołączony do przycisku Rozliczenie.

    1. Importuj plik filesmall.bmp, który zawiera dziesięć 16 x 16 (16 x 160) obrazy.Ponieważ musimy obrazy tylko ośmiu 16 x 16 (16 x 128) za pomocą Widok zasobów Aby zmienić szerokość tej bitmapy z 160-128.Zmień identyfikator mapy bitowej na IDB_RIBBON_FILESMALL.

    2. Importowanie filelarge.bmp, który zawiera osiem 32 x 32 (32 x 256) obrazy.Zmień identyfikator mapy bitowej na IDB_RIBBON_FILELARGE.

  4. Importowanie bitmapy dla kategorii Wstążki i panele.Każda karta na Wstążce pasku jest kategorią i składa się z etykiety tekstowej i opcjonalne obrazu.

    1. Importowanie bitmapy homesmall.bmp, który zawiera osiem 16 x 16 obrazów bitmap małych przycisków.Zmień identyfikator mapy bitowej na IDB_RIBBON_HOMESMALL.

    2. Importowanie bitmapy homelarge.bmp, który zawiera osiem 32 x 32 obrazów bitmap duży przycisk.Zmień identyfikator mapy bitowej na IDB_RIBBON_HOMELARGE.

  5. Importowanie bitmapy na Wstążce po zmianie rozmiaru paneli.Te bitmapy lub ikony panelu są używane po operacji zmiany rozmiaru, jeśli Wstążka jest zbyt mały, aby wyświetlić cały panel.

    1. Importowanie bitmapy panelicons.bmp, który zawiera osiem 16 x 16 obrazów.W Właściwości okna Edytor mapy bitowej, Dostosuj szerokość mapy bitowej do 64 (16 x 64).Zmień identyfikator mapy bitowej na IDB_PANEL_ICONS.

[Sekcje]

Dodawanie zasobów wstążki do projektu

Podczas konwertowania aplikacji korzystającej z menu w aplikacji korzystającej z wstążki nie trzeba usunąć lub wyłączyć istniejące menu.Zamiast tego możesz utworzyć zasób wstążki, dodać przyciski Wstążki i następnie skojarzyć nowe przyciski z istniejących elementów menu.Chociaż menu nie są widoczne, wiadomości z paska wstążki są przesyłane za pośrednictwem menu.Ponadto menu, skróty kontynuować pracę.

Wstążka składa się przycisk aplikacji, która jest duży przycisk w lewej górnej części wstążki, i co najmniej jednej karty kategorii.Każda karta kategorii zawiera jeden lub więcej paneli, które działają jako pojemniki na Wstążce przyciski i formanty.Poniższa procedura pokazuje, jak do utworzenia zasobu wstążki, a następnie dostosować przycisku Rozliczenie.

Aby dodać zasób wstążki do projektu

  1. Na Projekt menu, kliknij Dodać zasób.

  2. W Dodać zasób okno dialogowe Wybierz wstążki i kliknij przycisk Nowy.

    Visual Studio tworzy zasób Wstążki i zostanie otwarty w widoku Projekt.Identyfikator zasobu wstążki jest IDR_RIBBON1, który jest wyświetlany w Widok zasobów.Wstążka zawiera jedną kategorię i jednego panelu.

  3. Przycisk aplikacji można dostosować, zmieniając jego właściwości.Identyfikatory wiadomości, które są używane w tym kodzie są już zdefiniowane w menu Bazgroły 1.0.

  4. W widoku Projekt kliknij przycisk aplikacji, aby wyświetlić jego właściwości.Zmiana wartości właściwości w następujący sposób: obrazu do IDB_RIBBON_MAIN, szybkiego do pliku, klucze do f, Duże obrazy do IDB_RIBBON_FILELARGE, i Małych obrazów do IDB_RIBBON_FILESMALL.

  5. Następujące modyfikacje Utwórz menu pojawiającego się po kliknięciu przycisku Rozliczenie.Kliknij przycisk wielokropka (...) obok Główne elementy otworzyć Edytor elementów.

    1. Kliknij Dodaj dodać przycisk.Change Caption to &New, ID to ID_FILE_NEW, Image to 0, Image Large to 0.

    2. Kliknij Dodaj dodać drugi przycisk.Change Caption to &Save, ID to ID_FILE_SAVE, Image to 2, and Image Large to 2.

    3. Kliknij Dodaj dodać trzeci przycisk.Change Caption to Save &As, ID to ID_FILE_SAVE_AS, Image to 3, and Image Large to 3.

    4. Kliknij Dodaj do czwarty przycisk Dodaj.Change Caption to &Print, ID to ID_FILE_PRINT, Image to 4, and Image Large to 4.

    5. Zmiana elementu wpisz do separatora i kliknij przycisk Dodaj.

    6. Zmiana elementu należy wpisać do przycisk.Kliknij Dodaj do piąty przycisk Dodaj.Change Caption to &Close, ID to ID_FILE_CLOSE, Image to 5, and Image Large to 5.

  6. Następujące modyfikacje utworzyć podmenu przycisku Drukuj, utworzonego w poprzednim kroku.

    1. Kliknij wydruku przycisku, zmień elementu wpisz do etykiety, a następnie kliknij przycisk wstawić.Zmiana Caption do podglądu i drukowanie dokumentu.

    2. Kliknij wydruku przycisku, zmień elementu wpisz do przyciski kliknij przycisk wstawić.Change Caption to &Print, ID to ID_FILE_PRINT, Image to 4, and Image Large to 4.

    3. Kliknij wydruku przycisk, a następnie kliknij przycisk wstawić dodać przycisk.Zmiana Caption do & szybkie drukowanie, ID do ID_FILE_PRINT_DIRECT, obrazu do 7, i duży obraz do 7.

    4. Kliknij wydruku przycisk, a następnie kliknij przycisk wstawić do innego przycisku Dodaj.Zmiana Caption do & Podgląd wydruku, ID do ID_FILE_PRINT_PREVIEW, obrazu do 6, i Duży obraz do6.

    5. Zmodyfikowano teraz Główne elementy.Kliknij Zamknij do wyjść Edytor elementów.

  7. Po dokonaniu zmiany tworzy przycisk Zakończ, który pojawia się u dołu menu przycisku aplikacji.

    1. W Właściwości okna, kliknij przycisk wielokropka (...) obok przycisk otworzyć Edytor elementów.

    2. Kliknij Dodaj dodać przycisk.Change Caption to E&xit, ID to ID_APP_EXIT, Image to8.

[Sekcje]

Tworzenie instancji paska wstążki

Poniższe kroki pokazują jak utworzenie wystąpienia paska wstążki, podczas uruchamiania aplikacji.Aby dodać pasek wstążki do aplikacji, zadeklarować pasek wstążki w pliku mainfrm.h.Plik mainfrm.cpp pisać kod, aby załadować zasobu wstążki.

Aby utworzyć wystąpienie pasek wstążki

  1. W pliku mainfrm.h należy dodać element członkowski danych chronionych sekcji CMainFrame, definicja klasy w ramce głównej.Ten element członkowski reprezentuje pasek wstążki.

    // Ribbon bar for the application
    CMFCRibbonBar  m_wndRibbonBar;
    
  2. W pliku mainfrm.cpp, Dodaj następujący kod przed końcowym return instrukcji na koniec CMainFrame::OnCreate funkcji.To tworzy instancję pasek wstążki.

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

[Sekcje]

Dostosowywanie zasobów wstążki

Teraz, że utworzono przycisk aplikacji, można dodać elementy do Wstążki.

[!UWAGA]

Użyto samego ikonę panel wszystkie panele.Jednak inne indeksów listy obrazu można użyć, aby wyświetlić inne ikony.

Aby dodać kategorię główną i edytować panel

  1. Program Bazgroły wymaga tylko jednej kategorii.W widoku Projekt kliknij kategorii do wyświetlenia jego właściwości.Zmiana wartości właściwości w następujący sposób: Caption do & Home, Duże obrazy do IDB_RIBBON_HOMELARGE, Małych obrazów do IDB_RIBBON_HOMESMALL.

  2. Każdej kategorii wstążki są zorganizowane w nazwanym panele.Każdy panel zawiera zestaw formantów, które wykonują operacje powiązane.Ta kategoria ma jednego panelu.Kliknij panelu, a następnie zmień Caption do Edytuj i Indeks obrazu do 0.

  3. Aby Edytuj panel, dodać przycisk, który jest odpowiedzialny za wyczyszczenie zawartości dokumentu.Identyfikator wiadomości dla tego przycisku została już zdefiniowana w zasobie menu IDR_SCRIBBTYPE.Określ Wyczyść wszystkie jako tekst przycisku i indeks bitmapy, która decorates przycisku.Otwórz Przybornik, a następnie przeciągnij przycisk do edytować panelu.Kliknij przycisk, a następnie zmień Caption do Wyczyść wszystkie, ID do ID_EDIT_CLEAR_ALL, Indeks obrazu do 0, Duży indeks obrazu do 0.

  4. Zapisz zmiany i utworzyć i uruchomić aplikację.Aplikacja Bazgroły powinny być wyświetlane i powinna mieć pasek Wstążce w górnej części okna zamiast paska menu.Pasek wstążki powinien mieć jednej kategorii, Strona główna, i Strona główna powinny mieć jeden panel Edytuj.Przyciski wstążki, dodane powinna być związana z istniejących programów obsługi zdarzeń i Otwórz, Zamknij, zapisać, wydruku, i Wyczyść wszystkie przyciski powinny działać zgodnie z oczekiwaniami.

[Sekcje]

Ustawienie wygląd aplikacji

A visual manager jest globalny obiekt, który kontroluje wszystkie rysunku dla aplikacji.Ponieważ pierwotnego wniosku Bazgroły używa stylu interfejsu użytkownika pakietu Office 2000, aplikacja może wyglądać jest.Można zresetować aplikacji tak, aby go podobny do aplikacji pakietu Office 2007 za pomocą Menedżera visual pakietu Office 2007.

Aby ustawić wygląd aplikacji

  1. W CMainFrame::OnCreate działały, wpisz następujący kod, aby zmienić domyślny Menedżer wizualne i styl.

    // Set the default manager to Office 2007 
    CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerOffice2007));
    CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007_LunaBlue);
    
  2. Zapisz zmiany i utworzyć i uruchomić aplikację.Interfejs użytkownika aplikacji powinno być podobne interfejsu użytkownika pakietu Office 2007.

[Sekcje]

Następne kroki

Zmodyfikowano klasyczne próbki Bazgroły MFC 1.0 do korzystania z projektanta wstążki.Teraz przejdź do część 2.

Zobacz też

Zadania

Instruktaż: Aktualizacja aplikacji Bazgroły MFC (część 2)

Inne zasoby

Instruktaże (MFC)