Olá Zé Carlos,
Pode usar asim para desabilitar o F4 e o "X" da Janela:
Obs: Preste atenção na linha de inicio da DIALOG:
"INIT DIALOG oJanela CLIPPER NOEXIT NOEXITESC TITLE "Acesso ao Sistema""
Código: Selecionar todos
*********************
Function Valida_senha
*********************
PRIVATE oJanela
PRIVATE oFont, grpConfiguracao
PRIVATE oIcon := HIcon():AddResource("ICON_1")
PRIVATE oUsuario, oSenha
PRIVATE LUsuario, LSenha
PRIVATE wUsuario :=Space(10)
PRIVATE wSenha :=""
PREPARE FONT oFontBtn NAME "Arial" WIDTH 0 HEIGHT -16 charset 255
INIT DIALOG oJanela CLIPPER NOEXIT NOEXITESC TITLE "Acesso ao Sistema";
FONT oFontBtn;
AT 0,0 SIZE 300,180;
ICON oIcon ;
STYLE DS_CENTER + WS_VISIBLE + WS_CAPTION + WS_SYSMENU
@ 15,40 Say LUsuario CAPTION "Usuário...:" SIZE 100,25
@ 15,70 Say LSenha CAPTION "Senha.....:" SIZE 100,25
@ 105,40 Get oUsuario VAR wUsuario PICTURE "@!" SIZE 150,25;
MAXLENGTH 10;
STYLE WS_TABSTOP;
TOOLTIP "Informe o seu Nome de Usuario"
@ 105,70 Get oSenha VAR wSenha PICTURE "@!" ;
SIZE 150,25 PASSWORD;
STYLE WS_TABSTOP;
TOOLTIP "Informe a sua Senha"
@ 15,120 BUTTON btnOk CAPTION "OK" ;
TOOLTIP "Clique aqui para entrar no Sistema";
ON CLICK {||Verefica_senha(wUsuario,wSenha)};
STYLE WS_TABSTOP
@ 170,120 BUTTON btnCancel CAPTION "Cancela" ;
ON CLICK {|| oJanela:Close(),MyExitProc3() };
TOOLTIP "Clique aqui Sair do Sistema";
STYLE WS_TABSTOP
ACTIVATE DIALOG oJanela
RETURN(WUSUARIO)
Para fechar os DBF aberto pela Janela eu uso assim:
Obs:Preste atenção na linha abaixo:
ON EXIT {|| DBCLOSEALL(),.T.}; // AQUI FECHA TODOS DBF DEPOIS QUE FECHAR A DIALOG
Código: Selecionar todos
*********************
Function Valida_senha
*********************
PRIVATE oJanela
PRIVATE oFont, grpConfiguracao
PRIVATE oIcon := HIcon():AddResource("ICON_1")
PRIVATE oUsuario, oSenha
PRIVATE LUsuario, LSenha
PRIVATE wUsuario :=Space(10)
PRIVATE wSenha :=""
SELE 1
USE SENHA ALIAS SENHA READONLY // ABRIU O DBF
PREPARE FONT oFontBtn NAME "Arial" WIDTH 0 HEIGHT -16 charset 255
INIT DIALOG oJanela CLIPPER NOEXIT NOEXITESC TITLE "Acesso ao Sistema";
FONT oFontBtn;
AT 0,0 SIZE 300,180;
ICON oIcon ;
ON EXIT {|| DBCLOSEALL(),.T.}; // AQUI FECHA TODOS DBF DEPOIS QUE FECHAR A DIALOG
STYLE DS_CENTER + WS_VISIBLE + WS_CAPTION + WS_SYSMENU
@ 15,40 Say LUsuario CAPTION "Usuário...:" SIZE 100,25
@ 15,70 Say LSenha CAPTION "Senha.....:" SIZE 100,25
@ 105,40 Get oUsuario VAR wUsuario PICTURE "@!" SIZE 150,25;
MAXLENGTH 10;
STYLE WS_TABSTOP;
TOOLTIP "Informe o seu Nome de Usuario"
@ 105,70 Get oSenha VAR wSenha PICTURE "@!" ;
SIZE 150,25 PASSWORD;
STYLE WS_TABSTOP;
TOOLTIP "Informe a sua Senha"
@ 15,120 BUTTON btnOk CAPTION "OK" ;
TOOLTIP "Clique aqui para entrar no Sistema";
ON CLICK {||Verefica_senha(wUsuario,wSenha)};
STYLE WS_TABSTOP
@ 170,120 BUTTON btnCancel CAPTION "Cancela" ;
ON CLICK {|| oJanela:Close(),MyExitProc3() };
TOOLTIP "Clique aqui Sair do Sistema";
STYLE WS_TABSTOP
ACTIVATE DIALOG oJanela
RETURN(WUSUARIO)