Jump to content
Fivewin Brasil

Direcionar o foco na abertura da Dialog ???


Cezar

Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...