Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede agregar controles a un cuadro de diálogo con el editor de diálogos o agregarlos usted mismo, con código.
Para crear un objeto de control usted mismo, normalmente insertará el objeto de control de C++ en un objeto de cuadro de diálogo ventana de marco de C++. Al igual que muchos otros objetos del marco, los controles requieren construcción en dos fases. Debe llamar a la función miembro Crear del control como parte de la creación del cuadro de diálogo primario o la ventana de marco. Para los cuadros de diálogo, esto se suele hacer en OnInitDialog y para ventanas de marco, en OnCreate.
En el ejemplo siguiente se muestra cómo puede declarar un CEdit objeto en la declaración de clase de una clase de diálogo derivada y, a continuación, llamar a la Create función miembro en OnInitDialog. Dado que el CEdit objeto se declara como un objeto incrustado, se construye automáticamente cuando se construye el objeto dialog, pero todavía debe inicializarse con su propia Create función miembro.
class CCustomDialog : public CDialog
{
CEdit m_edit;
virtual BOOL OnInitDialog();
};
La siguiente OnInitDialog función configura un rectángulo y, a continuación, llama Create a para crear el control de edición de Windows y adjuntarlo al objeto sin inicializar 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 de entrada en el control llamando a la función miembro SetFocus. Por último, devuelve 0 de OnInitDialog para mostrar que has establecido el foco. Si devuelve un valor distinto de cero, el administrador de diálogos establece el foco en el primer elemento de control de la lista de elementos de diálogo. En la mayoría de los casos, querrá agregar controles a los cuadros de diálogo con el editor de diálogos.