lenasi Posted May 1, 2004 Report Share Posted May 1, 2004 Caros amigos, Estou tendo vários problemas com o ListBox. Um deles é o seguinte: Quando uma tela de consulta é aberta, logo está apresentado os registros do DBF por completo. Até aà sem segredos... Mas percebi que, clicando pela primeira vez no meio do ListBox, por exemplo no 5 registro, qualquer outro movimento que eu efetuar (dois clicks, seta para cima ou para baixo) é apresentado o primeiro registro por cima. Daà os registros acima deste, não são mais acessÃveis... somete os de baixo seguindo a ordem, 1, 2, 3... Se eu rolar a barra de rolagem até o final, quando retornar ao começo, o ListBox volta ao normal... Uma outra dúvida também, e quando peço para filtrar algumas informações usando INDEX ON ... TO ..., o por que a barra de rolagem fica desatualizada? Digo, se rolar para o último registro, a barra pode terminar no meio. Por enquanto é só... Grato a todos Levi. 11 8182-6793 lns.sys@bol.com.br Quote Link to comment Share on other sites More sharing options...
personal Posted May 1, 2004 Report Share Posted May 1, 2004 Parece ser somente preciso dar um Refresh() no listbox. oLbx:Refresh() Oliveira, Sérgio A. PERSONAL - LINS pcspersonal@uol.com.br MSN - sergio@personal.com.br Quote Link to comment Share on other sites More sharing options...
lenasi Posted May 2, 2004 Author Report Share Posted May 2, 2004 Mas eu estou usando o refresh()... Quote Link to comment Share on other sites More sharing options...
personal Posted May 2, 2004 Report Share Posted May 2, 2004 Da para postar o código fonte do seu ListBox ? Oliveira, Sérgio A. PERSONAL - LINS pcspersonal@uol.com.br MSN - sergio@personal.com.br Quote Link to comment Share on other sites More sharing options...
lenasi Posted May 2, 2004 Author Report Share Posted May 2, 2004 Aqui vai... ... SELE 1 IF USEUDF("CADPNE",.F.) INDEX ON F_Fogo TO PNETMP ELSE MsgAlert( OemToAnsi( "NÆo foi poss¡vel abrir Cadastro de Pneus. Tente novamente."), "Erro de Abertura" ) CLOSE; RETURN NIL ENDIF SELE 1 COUNT TO TotReg GO TOP DEFINE DIALOG oDlg RESOURCE "CONPNEUS" REDEFINE GET oNumFogoA VAR cNumFogoA ID 101 OF ODlg; PICTURE "9999999999"; VALID ProcPneu(cNumFogoA) REDEFINE GET oNumFogoB VAR cNumFogoB ID 102 OF ODlg; PICTURE "9999999999"; VALID ProcPneu(cNumFogoB) REDEFINE COMBOBOX oCbMarca VAR oMarca ITEMS cMarca ID 103 OF oDlg REDEFINE COMBOBOX oCbModelo VAR oModelo ITEMS cModelo ID 104 OF oDlg REDEFINE COMBOBOX oCbMedida VAR oMedida ITEMS cMedida ID 105 OF oDlg REDEFINE BUTTON ID 107 OF oDlg ; MESSAGE OemToAnsi("Efetua pesquisa conforme dados ao lado..."); ACTION ( EfetuaBuscar(oLbx,nOrden) ) REDEFINE LISTBOX oLbx; FIELDS " "+CADPNE->F_STATUS,; " "+Str(CADPNE->F_Recape),; " "+Str(CADPNE->F_Fogo),; " "+CADPNE->F_Medida,; " "+CADPNE->F_Modelo,; " "+CADPNE->F_Marca,; " "+IIF(CADPNE->F_KmTotal>0,Transf(Str(CADPNE->F_KmTotal,6),"@R 999,999")," "),; " "+CADPNE->F_NumSerie,; " "+CADPNE->F_DOT; FIELDSIZES 20,20,80,100,100,100,100,115,50; HEADERS "ST", "RC", "FOGO", OemToAnsi("DIMENSÇO"), "MODELO", "FABRICANTE",; "KM TOTAL", OemToAnsi("NéMERO DE SÂRIE"), "DOT"; ON LEFT DBLCLICK VerDadosPneu( oLbx ); ALIAS "CADPNE"; ID 106; OF oDlg oLbx:aJustify := { .F., .F., .F., .F., .F., .F., .T., .F., .F. } oLbx:bKeyChar := { | nKey | If( nKey == 13 ,; VerDadosPneu( oLbx ),.t.)} REDEFINE RADIO oRadioButtons VAR nOrden ID 108,113,112,114 OF ODlg; ON CHANGE ( EfetuaBuscar(oLbx,nOrden) ); WHEN TotReg > 0 REDEFINE BTNBMP RESOURCE "LUPA" ID 110 OF oDlg ; TOOLTIP OemToAnsi("Pesquisa N£mero de Fogo..."); ACTION Busca(Olbx,nOrden,"N£mero de Fogo"); WHEN TotReg > 0 .AND. nOrden = 1 REDEFINE BTNBMP RESOURCE "BTNIMP" ID 111 OF oDlg ; TOOLTIP "Imprime tabela..."; ACTION ImpPneus(oLbx); WHEN TotReg > 0 REDEFINE BUTTON ID 109 OF oDlg ; MESSAGE "Retorna ao menu"; ACTION( oDlg:End() ) ACTIVATE DIALOG oDlg CENTER; ON INIT ( oLbx:UpStable(),; oLbx:Refresh(), SysRefresh() ) // cheguei até colocar este ON INIT, // mas não adiantou. ERASE("PNETMP.NTX") CLOSE ALL RETURN( NIL ) 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.