Clase CAxDialogImpl
Esta clase implementa un cuadro de diálogo (modal o no modal) que hospeda controles ActiveX.
Importante
Esta clase y sus miembros no se pueden usar en las aplicaciones que se ejecutan en Windows Runtime.
Sintaxis
template <class T, class TBase = CWindow>
class ATL_NO_VTABLE CAxDialogImpl : public CDialogImplBaseT<TBase>
Parámetros
T
La clase, que se deriva de CAxDialogImpl
.
TBase
Clase de ventana base para CDialogImplBaseT
.
Miembros
Métodos públicos
Nombre | Descripción |
---|---|
CAxDialogImpl::AdviseSinkMap | Llame a este método para notificar o no notificar todas las entradas de la asignación de eventos del receptor del objeto. |
CAxDialogImpl::Create | Llame a este método para crear un cuadro de diálogo no modal. |
CAxDialogImpl::DestroyWindow | Llame a este método para destruir un cuadro de diálogo no modal. |
CAxDialogImpl::DoModal | Llame a este método para crear un cuadro de diálogo modal. |
CAxDialogImpl::EndDialog | Llame a este método para destruir un cuadro de diálogo modal. |
CAxDialogImpl::GetDialogProc | Llame a este método para obtener un puntero a la función de devolución de llamada DialogProc . |
CAxDialogImpl::GetIDD | Llame a este método para obtener el id. de recurso de la plantilla de diálogo |
CAxDialogImpl::IsDialogMessage | Llame a este método para determinar si un mensaje está pensado para este cuadro de diálogo y, si es así, procese el mensaje. |
Miembros de datos protegidos
Nombre | Descripción |
---|---|
CAxDialogImpl::m_bModal | Variable que solo existe en compilaciones de depuración y se establece en true si el cuadro de diálogo es modal. |
Comentarios
CAxDialogImpl
permite crear un cuadro de diálogo modal o no modal. CAxDialogImpl
proporciona el procedimiento del cuadro de diálogo, que usa la asignación de mensajes predeterminado para dirigir los mensajes a los controladores adecuados.
CAxDialogImpl
deriva de CDialogImplBaseT
, que a su vez deriva de TBase (de forma predeterminada, CWindow
) y CMessageMap
.
La clase debe definir un miembro IDD que especifique el id. de recurso de la plantilla de diálogo. Por ejemplo, al agregar un objeto de diálogo ATL mediante el cuadro de diálogo Agregar clase, se agrega de forma automática la siguiente línea a la clase:
enum { IDD = IDD_MYDLG };
donde MyDialog
es el Nombre corto especificado en el diálogo ATL del asistente.
Consulte Implementar un cuadro de diálogo para más información.
Tenga en cuenta que un control ActiveX en un cuadro de diálogo modal creado con CAxDialogImpl
no admitirá las teclas de aceleración. Para admitir teclas de aceleración en un cuadro de diálogo creado con CAxDialogImpl
, cree un cuadro de diálogo no modal y, con su propio bucle de mensajes, use CAxDialogImpl::IsDialogMessage después de obtener un mensaje de la cola para controlar una tecla de aceleración.
Para obtener más información sobre CAxDialogImpl
, consulte Preguntas más frecuentes sobre la contención de controles ATL.
Jerarquía de herencia
TBase
CWindowImplRoot
CDialogImplBaseT
CAxDialogImpl
Requisitos
Encabezado: atlwin.h
CAxDialogImpl::AdviseSinkMap
Llame a este método para notificar o no notificar todas las entradas de la asignación de eventos del receptor del objeto.
HRESULT AdviseSinkMap(bool bAdvise);
Parámetros
bAdvise
Establézcalo en true si se deben notificar todas las entradas del receptor; false si todas las entradas del receptor se van a dejar de notificar.
Valor devuelto
Devuelve S_OK si es correcto o un error HRESULT en caso de error.
CAxDialogImpl::Create
Llame a este método para crear un cuadro de diálogo no modal.
HWND Create(HWND hWndParent, LPARAM dwInitParam = NULL);
HWND Create(HWND hWndParent, RECT&, LPARAM dwInitParam = NULL);
Parámetros
hWndParent
[in] Identificador de la ventana propietaria.
dwInitParam
[in] Especifica el valor que se va a pasar al cuadro de diálogo en el parámetro lParam del mensaje WM_INITDIALOG.
RECT&
Este parámetro no se utiliza. Este parámetro se pasa por CComControl
.
Valor devuelto
Manipulador del cuadro de diálogo recién creado.
Comentarios
Este cuadro de diálogo se adjunta automáticamente al objeto CAxDialogImpl
. Para crear un cuadro de diálogo modal, llame a DoModal.
La segunda invalidación solo se proporciona para que los cuadros de diálogo se puedan usar con CComControl.
CAxDialogImpl::DestroyWindow
Llame a este método para destruir un cuadro de diálogo no modal.
BOOL DestroyWindow();
Valor devuelto
TRUE si la ventana se destruye correctamente; en caso contrario, FALSE.
Comentarios
No llame a DestroyWindow
para destruir un cuadro de diálogo modal. Llame a EndDialog en su lugar.
CAxDialogImpl::DoModal
Llame a este método para crear un cuadro de diálogo modal.
INT_PTR DoModal(
HWND hWndParent = ::GetActiveWindow(),
LPARAM dwInitParam = NULL);
Parámetros
hWndParent
[in] Identificador de la ventana propietaria. El valor predeterminado es el valor devuelto de la función de Win32 GetActiveWindow.
dwInitParam
[in] Especifica el valor que se va a pasar al cuadro de diálogo en el parámetro lParam del mensaje WM_INITDIALOG.
Valor devuelto
Si es correcto, el valor del parámetro nRetCode especificado en la llamada a EndDialog, de lo contrario, -1.
Comentarios
Este cuadro de diálogo se adjunta automáticamente al objeto CAxDialogImpl
.
Para crear un cuadro de diálogo no modal, llame a Create.
CAxDialogImpl::EndDialog
Llame a este método para destruir un cuadro de diálogo modal.
BOOL EndDialog(int nRetCode);
Parámetros
nRetCode
[in] Valor devuelto por DoModal.
Valor devuelto
TRUE si se destruye el cuadro de diálogo; en caso contrario, FALSE.
Comentarios
EndDialog
debe llamarse mediante el procedimiento del cuadro de diálogo. Una vez destruido el cuadro de diálogo, Windows usa el valor de nRetCode como valor devuelto de DoModal
, que creó el cuadro de diálogo.
Nota:
No llame a EndDialog
para destruir un cuadro de diálogo no modal. Llame a DestroyWindow en su lugar.
CAxDialogImpl::GetDialogProc
Llame a este método para obtener un puntero a la función de devolución de llamada DialogProc
.
virtual DLGPROC GetDialogProc();
Valor devuelto
Devuelve un puntero a la función de devolución de llamada DialogProc
.
Comentarios
La función DialogProc
es una función de devolución de llamada definida por la aplicación.
CAxDialogImpl::GetIDD
Llame a este método para obtener el id. de recurso de la plantilla de diálogo.
int GetIDD();
Valor devuelto
Devuelve el id. de recurso de la plantilla de diálogo.
CAxDialogImpl::IsDialogMessage
Llame a este método para determinar si un mensaje está pensado para este cuadro de diálogo y, si es así, procese el mensaje.
BOOL IsDialogMessage(LPMSG pMsg);
Parámetros
PMSG
Puntero a una estructura MGS que contiene el mensaje que se va a comprobar.
Valor devuelto
Devuelve TRUE si el mensaje se ha procesado, FALSE de lo contrario.
Comentarios
Este método está pensado para que lo llamen desde dentro de un bucle de mensajes.
CAxDialogImpl::m_bModal
Variable que solo existe en compilaciones de depuración y se establece en true si el cuadro de diálogo es modal.
bool m_bModal;