Condividi tramite


Aggiungere i controlli manualmente

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

Per creare manualmente un oggetto di controllo, in genere si incorpora l'oggetto di controllo C++ in una finestra di dialogo C++ o in un oggetto di finestra cornice. Come molti altri oggetti nel framework, i controlli richiedono la costruzione a due fasi. È necessario chiamare la funzione membro Create del controllo come parte della creazione della finestra di dialogo padre o della finestra frame. Per le finestre di dialogo, questa operazione viene in genere eseguita in OnInitDialog e per le finestre cornice in OnCreate.

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

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

La funzione seguente OnInitDialog configura un rettangolo, quindi chiama Create per creare il controllo di modifica di Windows e collegarlo all'oggetto non inizializzato 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 il focus dell'input sul controllo dell'interfaccia chiamando la SetFocus funzione membro. Infine, si restituisce 0 da OnInitDialog per indicare che si è impostato il focus. Se restituisci un valore diverso da zero, il gestore di dialoghi imposta il focus sul primo elemento di controllo nell'elenco di elementi della finestra di dialogo. Nella maggior parte dei casi, è consigliabile aggiungere controlli alle finestre di dialogo con l'editor di dialoghi.

Vedere anche

Creazione e uso di controlli
Comandi
CDialog::OnInitDialog