Cezar Posted September 16, 2003 Report Share Posted September 16, 2003 Ola, No exemplo abaixo, ao iniciar a Dialog deveria posicionar o foco no Get[ 1], mas isso não acontecendo, percebo que a dialog é ativada, porque eu vejo o titulo ficar azul, o cursor piscar no get desejado e, em seguida perde o foco, o tÃtulo fica cinza. Como posicionar o foco corretamente ?? DEFINE DIALOG oDlg OF oDlgCh[nDlg] TITLE "Pedidos" ; FROM 40,40 TO 450,660 PIXEL oDlg:Cargo := .F. @ 10, 10 SAY "Número " OF oDlg PIXEL SIZE 50,12 @ 22, 10 SAY "Código " OF oDlg PIXEL SIZE 50,12 @ 10, 50 GET oGet[ 1] VAR nNumero OF oDlg ; PIXEL SIZE 30,9 ; PICTURE "999999" UPDATE ; WHEN lNovo // lNovo = .T., pernite digitar um novo número // lNovo = .F., passa direto porque é alteraçao @ 22, 50 GET oGet[ 2] VAR oDbf[1]:CodFor OF oDlg ; PIXEL SIZE 30,9 ; PICTURE "999999" ; VALID SeekFor( oDlg, oDbf ) UPDATE Folder .... Buttons ... Já tentei, sem sucesso, estas duas fórmulas!! Está correto ????? oDlg:bStart := {|| oGet[ 1]:SetFocus() } oDlg:Controls[1]:SetFocus() ACTIVATE DIALOG oDlg NOWAIT CENTERED ; ON INIT PJ_Inicio( oDlg, oGet, oBtn ) ; VALID PJ_Fecha( oDbf, oFld ) Grato. Editado por - Cezar on 16/09/2003 18:19:25 Quote Link to comment Share on other sites More sharing options...
vagner Posted September 17, 2003 Report Share Posted September 17, 2003 citação:Ola, No exemplo abaixo, ao iniciar a Dialog deveria posicionar o foco no Get[ 1], mas isso não acontecendo, percebo que a dialog é ativada, porque eu vejo o titulo ficar azul, o cursor piscar no get desejado e, em seguida perde o foco, o tÃtulo fica cinza. Como posicionar o foco corretamente ?? DEFINE DIALOG oDlg OF oDlgCh[nDlg] TITLE "Pedidos" ; FROM 40,40 TO 450,660 PIXEL oDlg:Cargo := .F. @ 10, 10 SAY "Número " OF oDlg PIXEL SIZE 50,12 @ 22, 10 SAY "Código " OF oDlg PIXEL SIZE 50,12 @ 10, 50 GET oGet[ 1] VAR nNumero OF oDlg ; PIXEL SIZE 30,9 ; PICTURE "999999" UPDATE ; WHEN lNovo // lNovo = .T., pernite digitar um novo número // lNovo = .F., passa direto porque é alteraçao @ 22, 50 GET oGet[ 2] VAR oDbf[1]:CodFor OF oDlg ; PIXEL SIZE 30,9 ; PICTURE "999999" ; VALID SeekFor( oDlg, oDbf ) UPDATE Folder .... Buttons ... Já tentei, sem sucesso, estas duas fórmulas!! Está correto ????? oDlg:bStart := {|| oGet[ 1]:SetFocus() } oDlg:Controls[1]:SetFocus() ACTIVATE DIALOG oDlg NOWAIT CENTERED ; ON INIT PJ_Inicio( oDlg, oGet, oBtn ) ; VALID PJ_Fecha( oDbf, oFld ) Grato. Editado por - Cezar on 16/09/2003 18:19:25 id=quote>id=quote>Olá Cezar, Retire o NOWAIT, da sua Activate Dialog :þ) Abraços Vagner Wirts São Paulo-Brasil Quote Link to comment Share on other sites More sharing options...
Cezar Posted September 17, 2003 Author Report Share Posted September 17, 2003 Olá Vagner, Tem razão, retirando NOWAIT funciona; mas o formulário deixa de ser NOMODAL para ser simples DIALOG. Este formuário é solicitado de um formulário que contém uma ListBox, e botoes para incluir/alterar,etc.. também NOMODAL. Agora, chamado direto do menu do formulário principal ( MDI ), funciona!! Não é estranho??? Grato. Cezar Quote Link to comment Share on other sites More sharing options...
gilmer Posted September 22, 2003 Report Share Posted September 22, 2003 Olá, Aonde é alterado o valor da variavel lNovo ? Tente tirar o When e verifica se funciona normalmente. Quote Link to comment Share on other sites More sharing options...
brunolobo Posted September 23, 2003 Report Share Posted September 23, 2003 ACTIVATE DIALOG oDlg NOWAIT CENTERED ; ON INIT (PJ_Inicio(oDlg, oGet, oBtn), xsetfocus(oGet[01]) ; VALID PJ_Fecha( oDbf, oFld ) A função xsetfocus() está na seção dicas! []'s, Bruno Lobo. Quote Link to comment Share on other sites More sharing options...
brunolobo Posted September 23, 2003 Report Share Posted September 23, 2003 Ficou faltando um parentese! Foi mal! ACTIVATE DIALOG oDlg NOWAIT CENTERED ; ON INIT (PJ_Inicio(oDlg, oGet, oBtn), xsetfocus(oGet[01])) ; VALID PJ_Fecha( oDbf, oFld ) []'s, Bruno Lobo. Quote Link to comment Share on other sites More sharing options...
Cezar Posted September 23, 2003 Author Report Share Posted September 23, 2003 Ola Bruno, Testei e não funcionou!! Deixa te explicar melhor: Se abrir a DIALOG com NOWAIT direto da tela principal tudo funciona normal. Se, dentro dessa DIALOG com NOWAIT aberta da tela principal e através de um botão, mandar abrir "uma segunda DIALOG" com NOWAIT, essa DIALOG dará o problema mesmo usando a xSetFocus()?? Tá complicado ??? Grato. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.