DIALOG
Enviado: 25 Nov 2008 11:36
Tenho um form DIALOG, como faço pra controlar as teclas pressionadas, por exemplo, teclo ESC num form e ele dar foco no primeiro campo, mas se estiver ja no primeiro campo ai sim fecha o form.
Código: Selecionar todos
#include "windows.ch"
#include "guilib.ch"
Function Main
Private oDlg1, vGet1:=space(10), vGet2:=space(10)
INIT DIALOG oDlg1 CLIPPER NOEXITESC TITLE "Exemplo Dialog" AT 200,200 SIZE 300,160
SET KEY 0,27 TO SairDlg()
@ 10,10 Say "Campo 1" Size 90,22
@ 10,32 Get oGet1 VAR vGet1 ID 101 Picture "XXXXXXXXXX" Size 200,25
@ 10,57 Say "Campo 2" Size 90,22
@ 10,79 Get oGet2 VAR vGet2 ID 102 Picture "XXXXXXXXXX" Size 200,25
@ 100,115 BUTTON "Sair" SIZE 100, 32 ON CLICK {|| EndDialog()}
ACTIVATE DIALOG oDlg1
Return Nil
Function SairDlg()
nID:=GetDlgCtrlId(GetFocus())
if nID=101 //se ID = primeiro GET
EndDialog() //Fecha Dialog
else
oGet1:setfocus() //vai para primeiro GET
endif
Return Nil