by ratazul » Tue Apr 19, 2016 3:37 pm
static function AddModAlumno( oRec, lEmpty )
local oDlg, oBtn := Array(2), cTitle, cFoto, oFoto, lLic := .F.
IF( lEmpty,;
( cTitle := LoadString( , 10015 ), cFoto := cDirImg+"Foto.png" ),;
( cTitle := LoadString( , 10016 ), cFoto := cDirImg+"DSCN"+oRec:Foto+".jpg" ) )
IF !FILE( cFoto ) .or. EMPTY( oRec:Foto )
cFoto := cFoto := cDirImg+"Foto.png"
ENDIF
IF( oRec:NIvel_Escolar == "LICENCIATURA", lLic := .T., )
DEFINE DIALOG oDlg RESOURCE "DLGALU" TITLE cTitle PIXEL TRANSPARENT
REDEFINE GET oRec:Matricula ID 601 OF oDlg PICT "@!KS" UPDATE
REDEFINE GET oRec:Nombre ID 602 OF oDlg PICT "@!KS" UPDATE
REDEFINE GET oRec:Telefono ID 603 OF oDlg PICT "9999999999" UPDATE
REDEFINE GET oRec:CCT ID 604 OF oDlg PICT "@!KS" UPDATE
REDEFINE COMBOBOX oRec:Nivel_Escolar ITEMS aNivelEsc ID 605 OF oDlg // Aquí, despliega una lista, que tiene búsqueda incremental, cuando se presiona
// RETURN, evalúa el WHEN y salta dos controles del dialogo, sin permitir
// la selección del COMBOBOX donde se evalúa el WHEN. Con la modificación
// en la clase COMBOBOX, ahora trabaja perfectamente. Obvio deberá configurar
// el bChange del control. Lineas adelante se muestra como.
REDEFINE COMBOBOX oRec:Licenciatura ITEMS aLic ID 606 OF oDlg WHEN oRec:Nivel_Escolar == "LICENCIATURA" // Evalúa un WHEN
REDEFINE COMBOBOX oRec:Grado ITEMS aGrado ID 607 OF oDlg
REDEFINE COMBOBOX oRec:Grupo ITEMS aGrupo ID 608 OF oDlg
REDEFINE COMBOBOX oRec:Turno ITEMS aTurno ID 609 OF oDlg
REDEFINE CHECKBOX oRec:Cenlex ID 610 OF oDlg UPDATE
REDEFINE GET oRec:Cuenta_Cenlex ID 611 OF oDlg PICT "@!KS" UPDATE WHEN oRec:Cenlex
REDEFINE GET oRec:Beca ID 612 OF oDlg PICT "999" UPDATE
REDEFINE GET oRec:Descuento ID 613 OF oDlg PICT "999" UPDATE
REDEFINE COMBOBOX oRec:Estado ITEMS aEstado ID 614 OF oDlg
REDEFINE GET oRec:Foto ID 615 OF oDlg PICT "9999" UPDATE VALID( oRec:Foto := StrZero( Val( oRec:Foto ), 4, 0 ), oDlg:UpDate(), .T. )
REDEFINE IMAGE oFoto ID 616 OF oDlg FILE cFoto ADJUST
oFoto:Progress( .F. )
REDEFINE BTNBMP oBtn[1] WHEN oRec:Modified() RESOURCE "ACEPTAR" ID 617 OF oDlg ;
ROUND NOBORDER TRANSPARENT PROMPT "Aceptar" LEFT ;
ACTION ( oRec:Elaboro := AllTrim( cLogin ), oRec:Fecha_Hora := DateTime() ,oRec:Save(), oDlg:End() ) TOOLTIP { "Guardar" }
REDEFINE BTNBMP oBtn[2] RESOURCE "CANCELAR" ID 618 OF oDlg ;
ROUND NOBORDER TRANSPARENT PROMPT "Cancelar" LEFT ;
ACTION oDlg:End() TOOLTIP { "Cancelar" }
oDlg:lHelpIcon := .F.
AEval( oDlg:aControls, { |o| IF( o:ClassName == "TCOMBOBOX",;
( o:lIncSearch := .T., o:lCaseSensitive := .T. ),;
( o:nClrText := CLR_BLUE, o:nClrPane := nRGB( 0xFE, 0xFF, 0xDB ) ) ) } )
oDlg:aControls[5]:bChange := { || oRec:Nivel_Escolar := oDlg:aControls[5]:oGet:GetText(), oDlg:AEvalWhen(), oDlg:Update() } // Aquí como se realiza el bChange del control.
ACTIVATE DIALOG oDlg CENTERED
return nil
//----------------------------------------------------------------------------//