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
Windows Forms kontroli Biblioteka utworzone w Jak: Tworzenie formantu użytkownika i hosta w oknie dialogowym.
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.
Otwórz UserControl1.Designer.cs i dodaje się za pomocą instrukcji:
using Microsoft.VisualC.MFC;
Ponadto w UserControl1.Designer.cs, należy zmienić ten wiersz:
partial class UserControl1
Aby to:
partial class UserControl1 : System.Windows.Forms.UserControl, ICommandTarget
Jako pierwszy wiersz w definicji klasy dla UserControl1:
private ICommandSource m_CmdSrc;
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."); }
Otwórz utworzony w aplikacji MFC Jak: Tworzenie widoku MDI kontrola użytkownika i hosta.
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).
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.