Aggiunta di controlli a mano

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

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

Nell'esempio seguente viene illustrato come dichiarare un oggetto di CEdit nella dichiarazione della classe di una classe derivata della finestra di dialogo e chiamare la funzione di creazione di un membro in OnInitDialog.Poiché l'oggetto di CEdit viene dichiarato come un oggetto incorporato, viene automaticamente creato quando l'oggetto della finestra di dialogo viene costruito, ma deve comunque essere inizializzato con la propria funzione di creazione di un membro.

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

La funzione riportata di OnInitDialog è installato un rettangolo, quindi chiama Create per creare il controllo di modifica delle finestre e per collegarlo 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 da OnInitDialog per mostrare che si imposta lo stato attivo.Se viene restituito un valore diverso da zero, l'amministratore della finestra di dialogo imposta lo stato attivo sul primo elemento del controllo nell'elenco di elementi della finestra di dialogo.Nella maggior parte dei casi, sarà necessario aggiungere i controlli alle finestre di dialogo con l'editor finestre di dialogo.

Vedere anche

Riferimenti

Utilizzando e l'utilizzo dei controlli

CDialog::OnInitDialog

Concetti

Controlli (MFC)