Hey
I need to make a dialog that never lost focus, if I click out the dialog, I need the dialog got focus again.
How can I do this ?
Hey
I need to make a dialog that never lost focus, if I click out the dialog, I need the dialog got focus again.
How can I do this ?
You may try this:
oDlg:bLostFocus := { || oDlg:SetFocus() }
Antonio Linares wrote:You may try this:
oDlg:bLostFocus := { || oDlg:SetFocus() }
How can I capture the mouse ??
Francisco,
oDlg:Capture()
Antonio Linares wrote:Francisco,
oDlg:Capture()
function SelecionaFormaDePagamento( )
local oFonte, oFonte2, oDialog, oLabel, nFormaSelecionada, hButton := HB_Hash()
Define Font oFonte Name 'Arial' Size -0,20 bold
Define Font oFonte2 Name 'Arial Black' Size -0,22// bold
Define dialog oDialog resource "SELECIONADEBCRE" title "Gerenciador TEF -- PAGAMENTO" font oFonte
oDialog:lTransparent := !IsAppThemed()
redefine say oLabel id 5001 of oDialog color CLR_HRED ,CLR_WHITE font oFonte2
redefine buttonbmp hButton['CartaoDebito' ] bitmap "CARTAO" id 6001 of oDialog action( nFormaSelecionada := CARTAO_DEBITO_A_VISTA , oDialog:End() ) textright
redefine buttonbmp hButton['CartaoCredito'] bitmap "CARTAO" id 6002 of oDialog action( AcaoBotaoCredito( @nFormaSelecionada, oDialog ) ) textright
redefine buttonbmp hButton['Encerrar' ] bitmap "M_EXIT" id 6003 of oDialog action( oDialog:End() ) textright
oDialog:lHelpIcon := .f.
oDialog:bKeyDown := {| nKey | FuncaoTeclas( nKey, hButton ) }
activate dialog oDialog centered on init ( OnInit( oLabel, oDialog ) )
oFonte:End()
oFonte2:End()
return nFormaSelecionada
/******************************************************************************/
static procedure OnInit( oLabel, oDialog )
oLabel:SetText(CRLF+'Escolha a opcao desejada.')
oLabel:lTransparent := .f.
oLabel:SetColor( CLR_HRED ,CLR_WHITE )
ForcaJanelaAparecer( oDialog )
oDialog:Capture()
return
/******************************************************************************/
static procedure AcaoBotaoCredito( nFormaSelecionada, oDialog )
if SelecionaCreditoAVistaOuPrazo( @nFormaSelecionada )
oDialog:End()
endif
return
/******************************************************************************/
static procedure FuncaoTeclas( nKey, hButton )
if nKey == 49
hButton['CartaoDebito' ]:Click()
elseif nKey == 50
hButton['CartaoCredito']:Click()
elseif nKey == VK_F11
hButton['Encerrar' ]:Click()
endif
returnFrancisco,
Why don't you want it to never loose focus ?
What is that usefull for ?
It's an app business rule. The app is a payment system that works with credit card, and when I request to pay with the card, no other app can take the focus. So I need the dialog never lost focus.
Any other idea?
Francisco,
I can not understand why STYLE DS_SYSMODAL does not work for you
Are you able to click on other apps meanwhile it is shown ?

Are you using STYLE DS_SYSMODAL to create it ?
Antonio Linares wrote:Are you using STYLE DS_SYSMODAL to create it ?
Ok, I think I know how you may do it:
You may need to "cover" the entire desktop with a transparent dialog and then on top of it, place yours.
Today I am tired (I have been working many hours). I may help you later on or tomorrow, thanks
But will it work when the user press ALT+TAB ?
I'm working in another features in my app. Later I'll come back to the focus problem. But if you think in any solucion please tell me.