Udostępnij za pośrednictwem


Jak: Dodawanie polecenia routingu do sterowania Windows Forms

CWinFormsView aktualizacja i tras polecenia polecenie komunikaty UI do formantu użytkownika umożliwiające poleceń MFC (na przykład, ramka elementów menu i przycisków paska narzędzi).

Formant użytkownika używa ICommandTarget::Initialize odwołanie do obiektu polecenia źródło w m_CmdSrc, jak pokazano w następującym przykładzie.Aby użyć ICommandTarget należy dodać odwołanie do mfcmifc80.dll.

CWinFormsViewobsługuje kilka typowych powiadomień widoku MFC poprzez przesłanie ich do kontroli zarządzanych użytkownika.Powiadomienia te obejmują OnInitialUpdate, OnUpdate i OnActivateView metody Interfejs IView.

W tym temacie założono wcześniej zakończyły Jak: Tworzenie formantu użytkownika i hosta w oknie dialogowym i Jak: Tworzenie widoku MDI kontrola użytkownika i hosta.

Aby utworzyć aplikację hosta MFC

  1. Windows Forms kontroli Biblioteka utworzone w Jak: Tworzenie formantu użytkownika i hosta w oknie dialogowym.

  2. Dodaj odwołanie do mfcmifc80.dll, co można zrobić, klikając prawym przyciskiem myszy na węźle projektu w Solution Explorer, wybieranie Dodaj odwołanie, a następnie przechodząc do programu Microsoft Visual Studio 10.0\VC\atlmfc\lib.

  3. Otwórz UserControl1.Designer.cs i dodaje się za pomocą instrukcji:

    using Microsoft.VisualC.MFC;
    
  4. Ponadto w UserControl1.Designer.cs, należy zmienić ten wiersz:

    partial class UserControl1
    

    Aby to:

    partial class UserControl1 : System.Windows.Forms.UserControl, ICommandTarget
    
  5. Jako pierwszy wiersz w definicji klasy dla UserControl1:

    private ICommandSource m_CmdSrc;
    
  6. Dodaj następujące definicje metody do UserControl1 (w następnym kroku zostanie utworzony identyfikator formantu MFC):

    public void Initialize (ICommandSource cmdSrc)
    {
       m_CmdSrc = cmdSrc;
       // need ID of control in MFC dialog and callback function 
       m_CmdSrc.AddCommandHandler(32771, new CommandHandler (singleMenuHandler));
    }
    
    private void singleMenuHandler (uint cmdUI)
    {
       // User command handler code
       System.Windows.Forms.MessageBox.Show("Custom menu option was clicked.");
    }
    
  7. Otwórz utworzony w aplikacji MFC Jak: Tworzenie widoku MDI kontrola użytkownika i hosta.

  8. Dodaj opcję menu, który będzie wywoływał singleMenuHandler.

    Przejdź do Widok zasobów (CTRL + SHIFT + E), rozwiń węzeł Menu folderu, a następnie dwukrotnego kliknięcia na IDR_MFC02TYPE.Wyświetla Edytor menu.

    Dodaj opcję menu na dole widoku menu.Uwaga identyfikator opcji menu w Właściwości okna.Zapisz plik.

    W Solution Explorer, otwórz plik Resource.h, skopiuj wartość Identyfikatora dla opcji menu właśnie dodanego i wklej tę wartość jako pierwszy parametr m_CmdSrc.AddCommandHandler wywołania w projekcie języka C# Initialize metody (zastępując 32771 w razie potrzeby).

  9. Tworzenie i uruchamianie projektu.

    Na budować menu, kliknij Roztwór budować.

    Na debugowania menu, kliknij uruchomić bez debugowania.

    Wybierz opcję menu dodane.Należy zauważyć, że jest wywoływana metoda w pliku .dll.

Zobacz też

Informacje

Interfejs ICommandSource

Interfejs ICommandTarget

Pełnomocnik CommandHandler

Inne zasoby

Hosting kontrola użytkownika Windows Forms jako widok MFC