Posição do cursor

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

gbetorodrigues
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 08 Out 2010 09:51
Localização: Rio de Janeiro / RJ

Posição do cursor

Mensagem por gbetorodrigues »

Ola a todos
Estou tentando fazer uma pesquisa em um GET a medida que o usuário vai digitando, porém ao retornar da funcao de verificação ele perde a coluna (ou seja a posicao do cursor que ele estava anteriormente), indo parar no inicio do campo. Tentei enviar um KEYBOARD CHR(6) - Tecla END mas nao funciona se alguem tiver alguma sugestao agradeco
veja o exemplo das intrucoes:


LINHA ONDE CHAMA A FUNCAO ...
REDEFINE GET oOBS2D VAR xobs2 ID 4002 OF oshwobs MEMO ON CHANGE Tamobs(oOBS2D,@oSayob2,500,@oshwobs) UPDATE

TRECHO DA FUNCAO QUE EXECUTA E RETORNA


Local nTama := Len(oOBS2D:cText())
sayob2 := ALLTRIM(STR(fixobs - nTama)) + " caracteres"

formobs:update()
formobs:refresh()

...

oOBS2D:setfocus()
KEYBOARD CHR(6)
gbetorodrigues
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 08 Out 2010 09:51
Localização: Rio de Janeiro / RJ

Re: Posição do cursor

Mensagem por gbetorodrigues »

Ainda estou testando as dicas (ainda nao funcionou), estou fazendo algumas mudancas na rotina que é executada (antes do retorno). Obrigado a todos.
gbetorodrigues
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 08 Out 2010 09:51
Localização: Rio de Janeiro / RJ

Re: Posição do cursor

Mensagem por gbetorodrigues »

Acabei de efetuar o teste e o 'editbox' some ao passar pela função...
gbetorodrigues
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 08 Out 2010 09:51
Localização: Rio de Janeiro / RJ

Re: Posição do cursor

Mensagem por gbetorodrigues »

Observe as funcoes:

Quando eu faço com um GET VALID funciona, mas ao mudar para ON CNANGE , parece que o cursor se perde.

Código: Selecionar todos

FUNCTION OBSLAUDO1()

sayob2 := ALLTRIM(STR(600-LEN(xobs2))) + " caracteres"

DEFINE DIALOG oshwobs RESOURCE "OBSLAUDO"  

REDEFINE GET oOBS1A VAR xobs1    ID 4001 OF oshwobs MEMO UPDATE 
REDEFINE GET oOBS1B VAR xobstit2 ID 4007 OF oshwobs UPDATE 
REDEFINE GET oOBS1C VAR xendweb  ID 4008 OF oshwobs UPDATE 
REDEFINE SAY oSayob2 VAR sayob2  ID 4010 OF oshwobs UPDATE 
REDEFINE GET oOBS2D  VAR xobs2   ID 4002 OF oshwobs MEMO ON CHANGE Tamobs(oOBS2D,@oSayob2,(800-LEN(xobs2)),@oshwobs,@sayob2) UPDATE 
REDEFINE GET oOBS3E VAR xobs3    ID 4003 OF oshwobs MEMO UPDATE 

REDEFINE BUTTON obtobs ID 100 OF oshwobs ACTION oshwobs:End()

ACTIVATE DIALOG oshwobs CENTERED  

RETURN NIL 

*******************************************
FUNCTION Tamobs(oOBS2D,oSayob2,fixobs,formobs,sayob2)

LOCAL CHRLF := chr(10)+chr(13)//, sitobs := .T.

Local nTama := Len(oOBS2D:cText())
sayob2 := ALLTRIM(STR(fixobs-nTama)) + " caracteres" 

If nTama > fixobs
    MsgAlert("Tamanho máximo permitido !","Aviso !")
    //sitobs := .F.
Endif

formobs:update()
formobs:refresh()

oOBS2D:Goend()

RETURN NIL

*********************************************
Editado pela última vez por Toledo em 04 Nov 2010 17:06, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
gbetorodrigues
Usuário Nível 1
Usuário Nível 1
Mensagens: 12
Registrado em: 08 Out 2010 09:51
Localização: Rio de Janeiro / RJ

Re: Posição do cursor

Mensagem por gbetorodrigues »

Na linha onde se lê: ...800-LEN( ... deve mudar para 600
foi um esquecimento. (São 600 caracteres no máximo onde o usuário deve utilizar ).
ICO
Usuário Nível 1
Usuário Nível 1
Mensagens: 45
Registrado em: 01 Ago 2007 15:59
Localização: Corumba - MS

Re: Posição do cursor

Mensagem por ICO »

Boa Tarde..

Veja se é isso que vc. tá querendo...


Código: Selecionar todos

oget[8]:SetPos(0)
onde oget[8] é o get onde o cursor retorna, altere o SetPos(0) para a posição que vc. quer que retorne..

Abraços..
Luiz Arruda-Corumba - MS
FiveWin 9.04
[x]Harbour
PellesC
xDev
BCC
Ws

[blue]Retorne avisando se a Dica Funcionou[/blue]

email: ico.corumba@gmail.com
Responder