El comportamiento de la clase Dialog y Window es distinto en el uso del bInit
Como ejemplo:
TWindow
- Code: Select all Expand view
// Dlg02.prg
#include "fivewin.ch"
Function Main()
Local oWnd
Local nWidth := 400
Local nHeight := 600
Local oBrush
Local bIni
Local oMnu
MENU oMnu
ENDMENU
DEFINE BRUSH oBrush COLOR CLR_WHITE
DEFINE WINDOW oWnd MENU oMnu ;
STYLE WS_POPUP ; // SIZE nWidth, nHeight ; // OF oParent ;
BRUSH oBrush ;
PIXEL
oWnd:nTop := 120
oWnd:nLeft := 120
oWnd:nWidth := nWidth
oWnd:nHeight := nHeight
@ 30, 30 BUTTON " &CANCELAR " SIZE 60, 20 PIXEL OF oWnd ;
ACTION ( oWnd:End() ) CANCEL
//bIni := { || MiInit( oWnd ) }
oWnd:bInit := { || MiInit( oWnd ) } //bIni
oWnd:Activate( "NORMAL" , , , , , , , ;
, , , , , , , , , , , )
oBrush:End()
oBrush := Nil
Return nil
Function MiInit( oDlg )
Msginfo( oDlg )
Return nil
La ventana ejecuta binit correctamente, aunque después no me permite usar el raton para seleccionar el boton
He de pulsar TAB y después INTRO para poder ejecutar la accion del Boton
TDialog
- Code: Select all Expand view
// Dlg01.prg
#include "fivewin.ch"
Function Main()
Local oWnd
Local nWidth := 400
Local nHeight := 600
Local oBrush
Local bIni
DEFINE BRUSH oBrush COLOR CLR_WHITE
DEFINE DIALOG oWnd ; // MENU oMnu //;
STYLE WS_POPUP ;
SIZE nWidth, nHeight ;
BRUSH oBrush ; // OF oParent ;
PIXEL
oWnd:nTop := 120
oWnd:nLeft := 120
@ 30, 30 BUTTON " &CANCELAR " SIZE 60, 20 PIXEL OF oWnd ;
ACTION ( oWnd:End() ) CANCEL
bIni := { || MiInit( oWnd ) }
oWnd:bInit := { || MiInit( oWnd ) } //bIni
//oWnd:Activate( , , , .F., , .T., bIni, , , , .T.)
oWnd:Activate( , , , .F., , .T., , , , , .T.)
Return nil
Function MiInit( oDlg )
Msginfo( oDlg )
Return nil
Si defino bInit igual que con TWindow, no lo ejecuta.
He de definirlo en el Activate para que lo ejecute.
- Code: Select all Expand view
//oWnd:Activate( , , , .F., , .T., bIni, , , , .T.)
Aqui el boton funciona correctamente.
Mi idea era usar el mismo dialogo con distinto comportamiento cambiando el codeblock usado en el bInit.
Además el aspecto del boton en la ventana y en el Dialogo es distinto.
Puede probar alguien los ejemplos y decirme si ocurre lo mismo en las versiones actuales? Yo aun tengo FWH 12.03
¿No se puede definir el bInit del dialogo independiente del Activate?
Gracias