Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


acceder a la clase mainframe

Aqui programadores en la plataforma Win32 con Visual C++ de Microsoft...

Moderador: latindeveloper

acceder a la clase mainframe

Notapor rbpkirow el Jue Abr 28, 2005 11:34 am

Hola:

Alguien me puede decir lo que tengo que hacer para acceder a un metodo de la clase CMainFrame de un SDI desde un cuadro de dialogo modeless?

no se si tengo que crear un objeto de dicha clase, y si es asi, como hacerlo.
Grracias
rbpkirow
Usuario Activo
Usuario Activo
 
Mensajes: 75
Registrado: Jue Abr 07, 2005 2:52 am
Ubicación: España

Re: acceder a la clase mainframe

Notapor latindeveloper el Jue Abr 28, 2005 12:00 pm

Desde cualquier parte puedes hacer:

Código: Seleccionar todo
CWnd *VentanaPrincipal = AfxGetMainWnd();

VentanaPrincipal->SetWindowText("Cambiando el texto de la ventana principal");
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru

problema

Notapor rbpkirow el Mar May 03, 2005 2:43 am

lo que me has dicho me funciona, pero no me deja llamar a los miembros que yo tengo,

Podrias decirme por qué?

GRACIAS
rbpkirow
Usuario Activo
Usuario Activo
 
Mensajes: 75
Registrado: Jue Abr 07, 2005 2:52 am
Ubicación: España

Re: problema

Notapor latindeveloper el Mar May 03, 2005 8:10 am

Sucede que CWnd es la clase de la cual se derivan casi todas las MFC, seguramente tu clase CMainFrame es de la clase CFrameWnd o CMDIFrameWnd , segun sea el caso,

Para poder utilizar funciones puedes hacerlo mediante los mensajes. Digamos que tienes una funcion CMainFrame::OnAlgunMenu() que es invocada con la opcion del menu que tiene el siguiente id: ID_ALGUNMENU.

Entonces para poder llamar a la funcion CMainFrame::OnAlgunMenu() es necesario enviar el mismo mensaje que se envia cuando uno elige la opcion del menu:

Código: Seleccionar todo
CWnd *VentanaPrincipal = AfxGetMainWnd();
VentanaPrincipal->PostMessage(WM_COMMAND,ID_ALGUNMENU,ID_ALGUNMENU);


Entonces invocara la funcion OnAlgunMenu().
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru


Volver a Visual C++

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 0 invitados