Condividi tramite


Aggiunta manuale di controlli

È possibile aggiungere controlli a una finestra di dialogo con l'editor finestre o aggiungerli manualmente, tramite codice.

Per creare un oggetto controllo manualmente, in genere si importerà l'oggetto controllo C++ nell'oggetto finestra di dialogo o della finestra cornice c++. Come molti altri oggetti nel framework, i controlli richiedono la costruzione in due fasi. È necessario chiamare la funzione membro di Crea del controllo durante la creazione della finestra di dialogo archivia o la finestra cornice padre. Per le finestre di dialogo, in genere viene eseguito in OnInitDialog e delle finestre, in OnCreate.

Nell'esempio seguente viene illustrato come è possibile dichiarare un oggetto di CEdit nella dichiarazione della classe di una classe derivata della finestra di dialogo e quindi chiamare la funzione membro di Crea in OnInitDialog. Poiché l'oggetto di CEdit è dichiarato come oggetto incorporato, viene automaticamente costruito contestualmente all'oggetto finestra di dialogo viene costruito, ma deve comunque essere inizializzato utilizzando la relativa funzione membro di Crea.

class CCustomDialog : public CDialog
{
   CEdit m_edit;
   virtual BOOL OnInitDialog();
};

La funzione di OnInitDialog configura un rettangolo, quindi chiama Crea per creare il controllo edit di windows e per allegarla all'oggetto non inizializzata di CEdit.

BOOL CCustomDialog::OnInitDialog()
{
    CDialog::OnInitDialog();
    CRect rect(85, 110, 180, 210);

    m_edit.Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP |
             ES_AUTOHSCROLL | WS_BORDER, rect, this, IDC_EXTRA_EDIT);
    m_edit.SetFocus();
    return FALSE;
}

Dopo aver creato l'oggetto di modifica, è anche possibile impostare lo stato attivo per l'input al controllo chiamando la funzione membro di SetFocus. Infine, viene restituito 0 per OnInitDialog per mostrare che si imposta lo stato attivo. Viene restituito un valore diverso da zero, l'amministratore della finestra di dialogo imposta lo stato attivo sul primo elemento nell'elenco di elementi della finestra di dialogo. Nella maggior parte dei casi, è consigliabile aggiungere i controlli alle finestre di dialogo con l'editor finestre.

Vedere anche

Riferimenti

Creazione e utilizzo di controlli

CDialog::OnInitDialog

Concetti

Controlli (MFC)