Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: 1cacalvo en 08 de Noviembre de 2006, 12:20:31 PM

Título: Evento de dialogo
Publicado por: 1cacalvo en 08 de Noviembre de 2006, 12:20:31 PM
Hay un evento en la clase CDialog de las MFC que se ejecute solo una vez como CDialog::OnInitDialog() pero que se ejecute una vez visualizada el dialogo ???

               Thanks cALvET
Título: Evento de dialogo
Publicado por: Warchief en 08 de Noviembre de 2006, 01:00:31 PM
Te sirve OnShow() ?

<edit>
Bueno, quería decir: CWnd::OnShowWindow
Título: Evento de dialogo
Publicado por: 1cacalvo en 08 de Noviembre de 2006, 01:47:56 PM
Pues la verdad es que con ese metodo ya habia probado y me ejecuta el código antes de visualizar el dialogo...

Citarvoid SsrGenNivSop::OnShowWindow(BOOL bShow, UINT nStatus)
{
 CDialog::OnShowWindow(bShow, nStatus);

 // TODO: Add your message handler code here

 if (bShow){
    /* Llamada a algoritmo que tarda unos segundos en retornar */
 }
}

Al final lo que he hecho es lo mismo pero con el evento PAINT y controlando que solo se ejecute una vez con una variable booleana...

     thansks  cALvET
Título: Evento de dialogo
Publicado por: MA]Mestre en 08 de Noviembre de 2006, 07:05:10 PM
has probado esto ?

http://msdn2.microsoft.com/zh-cn/library/1f31c334(VS.80).aspx

http://msdn2.microsoft.com/zh-cn/library/766d63eb(VS.80).aspx
Título: Evento de dialogo
Publicado por: jan_europa en 08 de Noviembre de 2006, 07:51:30 PM
un timer que compruebe un valor y que dentro de OnInitDialog  lo cambie y se ejecute tu función
Título: Evento de dialogo
Publicado por: 1cacalvo en 09 de Noviembre de 2006, 01:27:01 PM
Con el evento OnActive creo que lo probe y me ejecutaba el código antes de visualizar el dialogo...

Con el evento OnActiveApp no lo he probado, asi que cuando tengo un momento ya por curiosidad lo hago...

Y lo del timer tambiém se me ha ocurrido pero como de momento lo he solucionado con el evento OnPaint() pues ya no le di muchas mas vueltas..

        Thanks por las respuestas cALvET