Compartir a través de


Agregar controles a mano

Puede agregue controles a un cuadro de diálogo con el editor de cuadros de diálogo o agregarlos personalmente, con código.

Para crear un objeto el mismo control, se insertará normalmente el objeto de control de C++ de objeto de diálogo o la cuadro- ventana de c++. Como muchos otros objetos en el marco, los controles requieren la construcción de dos pasos. Se debe llamar a la función miembro de crear de control como parte de la creación de la ventana primaria del cuadro de diálogo o el cuadro. Para los cuadros de diálogo, esto se hace normalmente en OnInitDialog, y para las ventanas de marco, en OnCreate.

El ejemplo siguiente se muestra cómo puede declarar un objeto de CEdit en la declaración de clase de una clase derivada de diálogo y llame a la función miembro de crear en OnInitDialog. Dado que el objeto de CEdit se declara como un objeto incrustado, automáticamente se crea cuando se construye el objeto cuadro de diálogo, pero aún debe inicializar con su propia función miembro de crear .

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

La siguiente función de OnInitDialog coloque un rectángulo, llamar crear para crear el control de edición de Windows y para adjuntarlo al objeto sin inicializar de 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;
}

Después de crear el objeto de edición, también puede establecer el foco al control llamando a la función miembro de SetFocus . Por último, se devuelve 0 de OnInitDialog para mostrar que establece el foco. Si se devuelve un valor distinto de cero, el administrador de diálogo establece el foco al primer elemento del control en la lista de elementos de cuadro de diálogo. En la mayoría de los casos, es conveniente para agregar controles a los cuadros de diálogo con el editor de cuadros de diálogo.

Vea también

Referencia

Crear y usar controles

CDialog::OnInitDialog

Conceptos

Controles (MFC)