FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Block bLostFocus() de Windows o Dialog
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Block bLostFocus() de Windows o Dialog
Posted: Mon Jul 31, 2006 12:29 PM

El código que sigue, debería poner la ventana siempre visible y no debería perder foco nunca a menos que se cerrara.
Si bien queda siempre visible, el block bLostFocus que debería volver el foco a la ventana no lo hace, probé con GotFocus y SetFocus y es lo mismo, parece que ignora el block.
Alguien me puede ayudar? aquí va el código:

define SWP_NOSIZE 0x0001

define SWP_NOMOVE 0x0002

define SWP_NOACTIVATE 0x0010

define SWP_SHOWWINDOW 0x0040

define HWND_TOPMOST -1

//

include "FiveWin.ch"

FUNCTION MAIN
LOCAL oDlg, oGet, oGet2, oBtn, Capt:=Space(10), Capt2:=" "

DEFINE DIALOG oDlg RESOURCE "Dialogo" Title "Captura"
REDEFINE GET oGet VAR Capt ID 101 OF oDlg;
PICTURE "!!!!!!!!!!" VALID MsgInfo(Capt)
oGet:bLostFocus:={||(oGet:SetText:="", oGet:SetFocus() )}
ACTIVATE DIALOG oDlg CENTER ON INIT ( WindowTopMost( oDlg ), ;
oDlg:bLostFocus := { || oDlg:SetFocus() } ) //esta linea

RETURN NIL

FUNCTION WindowTopMost( oWnd )
SetWindowPos( oWnd:hWnd, HWND_TOPMOST,;
0, 0, 0, 0, ;
SWP_NOMOVE |;
SWP_NOSIZE |;
SWP_SHOWWINDOW |;
SWP_NOACTIVATE )
RETURN NIL

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"

Continue the discussion