Condividi tramite


Classe CWinFormsControl

Fornisce la funzionalità di base per l'hosting di un controllo Windows Form.

Sintassi

template<class TManagedControl>
class CWinFormsControl : public CWnd

Parametri

TManagedControl
Controllo Windows Form .NET Framework da visualizzare nell'applicazione MFC.

Membri

Costruttori pubblici

Nome Descrizione
CWinFormsControl::CWinFormsControl Costruisce un oggetto wrapper di controllo Windows Form MFC.

Metodi pubblici

Nome Descrizione
CWinFormsControl::CreateManagedControl Crea un controllo Windows Form in un contenitore MFC.
CWinFormsControl::GetControl Recupera un puntatore al controllo Windows Form.
CWinFormsControl::GetControlHandle Recupera un handle per il controllo Windows Form.

Operatori pubblici

Nome Descrizione
CWinFormsControl::operator -> Sostituisce CWinFormsControl::GetControl nelle espressioni.
CWinFormsControl::operator TManagedControl^ Esegue il cast di un tipo come puntatore a un controllo Windows Form.

Osservazioni:

La CWinFormsControl classe fornisce la funzionalità di base per l'hosting di un controllo Windows Form.

Per altre informazioni sull'uso di Windows Form, vedere Uso di un controllo utente di Windows Form in MFC.

Il codice MFC non deve memorizzare nella cache gli handle di finestra (in genere archiviati in m_hWnd). Alcune proprietà di controllo Windows Form richiedono che l'oggetto Win32 Window sottostante venga eliminato e ricreato usando DestroyWindow e CreateWindow. L'implementazione Windows Form MFC gestisce gli Destroy eventi e Create dei controlli per aggiornare il m_hWnd membro.

Nota

L'integrazione di Windows Form MFC funziona solo nei progetti che collegano dinamicamente con MFC (in cui è definito AFXDLL).

Requisiti

Intestazione: afxwinforms.h

CWinFormsControl::CreateManagedControl

Crea un controllo Windows Form in un contenitore 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);

Parametri

pType
Tipo di dati del controllo da creare. Deve essere un tipo di dati Type .

dwStyle
Stile della finestra da applicare al controllo. Specificare una combinazione di stili finestra. Attualmente sono supportati solo gli stili seguenti: WS_TABSTOP, WS_VISIBLE, WS_DISABLED e WS_GROUP.

rect
Struttura RECT che definisce le coordinate degli angoli superiore sinistro e inferiore destro del controllo (solo primo overload).

nPlaceHolderID
Handle del controllo segnaposto statico posizionato nell'Editor risorse. Il controllo Windows Form appena creato sostituisce il controllo statico, presupponendo la posizione, l'ordine z e gli stili (solo secondo overload).

pParentWnd
Puntatore alla finestra padre.

nID
Numero ID risorsa da assegnare al controllo appena creato.

pControl
Istanza di un controllo Windows Form da associare all'oggetto CWinFormsControl (solo quarto overload).

Valore restituito

In caso di esito positivo, restituisce un valore diverso da zero. In caso di esito negativo, restituisce zero.

Osservazioni:

Questo metodo crea un'istanza di un controllo .NET Framework Windows Form in un contenitore MFC.

Il primo overload del metodo accetta un pType di tipo di dati .NET Framework in modo che MFC possa creare un'istanza di un nuovo oggetto di questo tipo. pType deve essere un tipo di dati Type .

Il secondo overload del metodo crea un controllo Windows Form basato sul TManagedControl parametro modello della CWinFormsControl classe . Le dimensioni e la RECT posizione del controllo sono basate sulla struttura passata al metodo . Solo dwStyle è importante per gli stili.

Il terzo overload del metodo crea un controllo Windows Form che sostituisce un controllo statico, distruggendolo e presupponendo la posizione, l'ordine z e gli stili. Il controllo statico funge solo da segnaposto per il controllo Windows Form. Quando si crea il controllo, questo overload combina gli stili di dwStyle con gli stili delle risorse del controllo statico.

Il quarto overload del metodo consente di passare un'istanza già creata Windows Form controllo pControl che MFC eseguirà il wrapping. Deve essere dello stesso tipo TManagedControl del parametro modello della CWinFormsControl classe .

Vedere Uso di un controllo utente di Windows Form in MFC per esempi sull'uso dei controlli Windows Form.

CWinFormsControl::CWinFormsControl

Costruisce un oggetto wrapper di controllo Windows Form MFC.

CWinFormsControl();

Osservazioni:

Il controllo Windows Form viene creata un'istanza quando si chiama CWinFormsControl::CreateManagedControl.

CWinFormsControl::GetControl

Recupera un puntatore al controllo Windows Form.

inline TManagedControl^ GetControl() const;

Valore restituito

Restituisce un puntatore al controllo Windows Form.

Esempio

Vedere CWinFormsControl::CreateManagedControl.

CWinFormsControl::GetControlHandle

Recupera un handle per il controllo Windows Form.

inline HWND GetControlHandle() const;

Valore restituito

Restituisce un handle al controllo Windows Form.

Osservazioni:

GetControlHandle è un metodo helper che restituisce l'handle di finestra archiviato nelle proprietà del controllo .NET Framework. Il valore dell'handle di finestra viene copiato in CWnd::m_hWnd durante la chiamata a CWnd::Attach.

CWinFormsControl::operator ->

Sostituisce CWinFormsControl::GetControl nelle espressioni.

inline TManagedControl^  operator->() const;

Osservazioni:

Questo operatore fornisce una sintassi pratica che sostituisce GetControl nelle espressioni.

Per altre informazioni sulle Windows Form, vedere Uso di un controllo utente di Windows Form in MFC.

CWinFormsControl::operator TManagedControl^

Esegue il cast di un tipo come puntatore a un controllo Windows Form.

inline operator TManagedControl^() const;

Osservazioni:

Questo operatore passa CWinFormsControl<TManagedControl> alle funzioni che accettano un puntatore a un controllo Windows Form.

Vedi anche

Classe CWinFormsDialog
Classe CWinFormsView