tem um pequeno problema com o bKeyDown na versão do FWH 7.12
ele EXECUTA 2X a mesma função
exemplo:
Code: Select all
// Testing GETs
#include "FiveWin.ch"
function Main()
LOCAL oDlg, oGet
LOCAL cCad := "Testing " // pad("Testing Gets",40)
LOCAL nNum := 0
LOCAL dDat := Date()
Set century On
Set Date Ansi
Set Date format "mm/dd/yyyy"
SET _3DLOOK ON
DEFINE DIALOG oDlg TITLE "TGet from " + FWDESCRIPTION
@ 1, 2 SAY "Text..:" OF oDlg
@ 1, 6 GET oGet VAR cCad OF oDlg SIZE 60, 10 COLOR "W/G" PICTURE "@K"
@ 1.8, 2 SAY "Number:" OF oDlg
@ 2, 6 GET oGet VAR nNum OF oDlg SIZE 60, 10 PICTURE "9999999.99"
@ 2.6, 2 SAY "Date:" OF oDlg
@ 3, 6 GET oGet VAR dDat PICTURE "@E" OF oDlg SIZE 60, 10 // "@D"
// VEJA AKI <<------------------------------------------------------------------
// se precionar F2 ira repetir 2X a mesma função
oGet:bKeyDown := {|nKey| IIF( nKey=VK_F2, MsgInfo("ok"), ), NIL }
@ 3, 7 BUTTON "&Ok" OF oDlg SIZE 30, 12 ACTION oDlg:End()
@ 3, 16 BUTTON "&Cancel" SIZE 30, 12 OF oDlg ACTION oDlg:End() CANCEL
ACTIVATE DIALOG oDlg CENTERED
return nil
//------------------------------------------------------------------------//
procedure appsys // XBase++ requirement
return
outra coisa na CLASSE WINDOW comigo acontece algo estranho
pois se comento a linha abaixo
METHOD EndPaint() INLINE ::nPaintCount--,;
EndPaint( ::hWnd, ::cPS ), ::cPS := nil, ::hDC := nil //, 0 // keep this zero here!
veja que estou comentanto o ZERO pois desta forma as minhas DIALOGS que tem VALID se encerram corretamente
se coloco o ZERO "DEFAULT" não me encerra "finaliza" a DIALOG corretamente
Espero que corrijam o problema