Udostępnij za pośrednictwem


Klasa CWinFormsControl

Udostępnia podstawowe funkcje hostowania kontrolki Windows Forms.

Składnia

template<class TManagedControl>
class CWinFormsControl : public CWnd

Parametry

TManagedControl
Kontrolka .NET Framework Windows Forms, która ma być wyświetlana w aplikacji MFC.

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CWinFormsControl::CWinFormsControl Tworzy obiekt otoki formantów MFC Windows Forms.

Metody publiczne

Nazwa/nazwisko opis
CWinFormsControl::CreateManagedControl Tworzy kontrolkę Formularze systemu Windows w kontenerze MFC.
CWinFormsControl::GetControl Pobiera wskaźnik do kontrolki Windows Forms.
CWinFormsControl::GetControlHandle Pobiera uchwyt do kontrolki Formularze systemu Windows.

Operatory publiczne

Nazwa/nazwisko opis
CWinFormsControl::operator -> Zamienia CWinFormsControl::GetControl w wyrażeniach.
CWinFormsControl::operator TManagedControl^ Rzutuje typ jako wskaźnik do kontrolki Windows Forms.

Uwagi

Klasa CWinFormsControl udostępnia podstawowe funkcje hostowania kontrolki Windows Forms.

Aby uzyskać więcej informacji na temat korzystania z formularzy systemu Windows, zobacz Using a Windows Form User Control in MFC (Używanie kontrolki użytkownika formularza systemu Windows w MFC).

Kod MFC nie powinien buforować dojść okien (zwykle przechowywanych w programie m_hWnd). Niektóre właściwości kontrolki Formularze systemu Windows wymagają zniszczenia i ponownego utworzenia bazowego win32 Window przy użyciu funkcji DestroyWindow i CreateWindow. Implementacja formularzy Destroy systemu Windows MFC obsługuje zdarzenia i Create kontrolek w celu zaktualizowania elementu m_hWnd członkowskiego.

Uwaga

Integracja aplikacji MFC Windows Forms działa tylko w projektach, które łączą się dynamicznie z MFC (w którym zdefiniowano bibliotekę AFXDLL).

Wymagania

Nagłówek: afxwinforms.h

CWinFormsControl::CreateManagedControl

Tworzy kontrolkę Formularze systemu Windows w kontenerze MFC.

inline BOOL CreateManagedControl(
    System::Type^ pType,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    int nID)
inline BOOL CreateManagedControl(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    int nID);

inline BOOL CreateManagedControl(
    DWORD dwStyle,
    int nPlaceHolderID,
    CWnd* pParentWnd);

inline BOOL CreateManagedControl(
    typename TManagedControl^ pControl,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    int nID);

Parametry

typ pType
Typ danych kontrolki do utworzenia. Musi być typem danych typu .

dwStyle
Styl okna, który ma być stosowany do kontrolki. Określ kombinację stylów okna. Obecnie obsługiwane są tylko następujące style: WS_TABSTOP, WS_VISIBLE, WS_DISABLED i WS_GROUP.

Rect
Struktura RECT, która definiuje współrzędne lewego górnego i prawego dolnego rogu kontrolki (tylko pierwsze przeciążenie).

nPlaceHolderID
Uchwyt statycznego formantu uchwytu zastępczego umieszczony w Edytorze zasobów. Nowo utworzona kontrolka Formularze systemu Windows zastępuje kontrolkę statyczną, przy założeniu, że jej pozycja, kolejność z i style (tylko drugie przeciążenie).

pParentWnd
Wskaźnik do okna nadrzędnego.

Nid
Numer identyfikatora zasobu, który ma zostać przypisany do nowo utworzonej kontrolki.

pControl
Wystąpienie kontrolki Windows Forms do skojarzenia z obiektem CWinFormsControl (tylko czwarte przeciążenie).

Wartość zwracana

Jeśli operacja powiedzie się, zwraca wartość niezerową. Jeśli nie powiedzie się, zwraca zero.

Uwagi

Ta metoda tworzy wystąpienie kontrolki .NET Framework Windows Forms w kontenerze MFC.

Pierwsze przeciążenie metody akceptuje typ danych .NET Framework pType , dzięki czemu MFC może utworzyć wystąpienie nowego obiektu tego typu. Typ pType musi być typem danych typu .

Drugie przeciążenie metody tworzy kontrolkę Windows Forms na TManagedControl podstawie parametru szablonu CWinFormsControl klasy. Rozmiar i położenie kontrolki są oparte na RECT strukturze przekazanej do metody. Tylko dwStyle ma znaczenie dla stylów.

Trzecie przeciążenie metody tworzy kontrolkę Windows Forms, która zastępuje statyczną kontrolkę, niszcząc ją i przyjmując jej położenie, kolejność z i style. Kontrolka statyczna służy tylko jako symbol zastępczy dla kontrolki Windows Forms. Podczas tworzenia kontrolki to przeciążenie łączy style z dwStyle ze stylami zasobów statycznej kontrolki.

Czwarte przeciążenie metody umożliwia przekazanie już utworzonego wystąpienia kontrolki Windows Forms pControl , która zostanie opakowana przez MFC. Musi mieć taki sam typ jak TManagedControl parametr szablonu CWinFormsControl klasy.

Zobacz Using a Windows Form User Control in MFC (Używanie kontrolki użytkownika formularza systemu Windows w MFC ), aby zapoznać się z przykładami dotyczącymi używania kontrolek Formularz systemu Windows.

CWinFormsControl::CWinFormsControl

Tworzy obiekt otoki formantów MFC Windows Forms.

CWinFormsControl();

Uwagi

Kontrolka Windows Forms jest tworzona podczas wywoływania kontrolek CWinFormsControl::CreateManagedControl.

CWinFormsControl::GetControl

Pobiera wskaźnik do kontrolki Windows Forms.

inline TManagedControl^ GetControl() const;

Wartość zwracana

Zwraca wskaźnik do kontrolki Formularze systemu Windows.

Przykład

Zobacz CWinFormsControl::CreateManagedControl.

CWinFormsControl::GetControlHandle

Pobiera uchwyt do kontrolki Formularze systemu Windows.

inline HWND GetControlHandle() const;

Wartość zwracana

Zwraca uchwyt do kontrolki Formularze systemu Windows.

Uwagi

GetControlHandle to metoda pomocnika, która zwraca uchwyt okna przechowywany we właściwościach kontrolki programu .NET Framework. Wartość dojścia okna jest kopiowana do CWnd::m_hWnd podczas wywołania metody CWnd::Attach.

CWinFormsControl::operator ->

Zamienia CWinFormsControl::GetControl w wyrażeniach.

inline TManagedControl^  operator->() const;

Uwagi

Ten operator zapewnia wygodną składnię, która zastępuje GetControl w wyrażeniach.

Aby uzyskać więcej informacji na temat formularzy systemu Windows, zobacz Using a Windows Form User Control in MFC (Używanie kontrolki użytkownika formularza systemu Windows w MFC).

CWinFormsControl::operator TManagedControl^

Rzutuje typ jako wskaźnik do kontrolki Windows Forms.

inline operator TManagedControl^() const;

Uwagi

Ten operator przekazuje CWinFormsControl<TManagedControl> do funkcji, które akceptują wskaźnik do kontrolki Windows Forms.

Zobacz też

Klasa CWinFormsDialog
Klasa CWinFormsView