Hola Antonio.
En este link está la imagen de lo que te comentaba
http://img124.imageshack.us/my.php?image=dibujomg1.gif
Lo que pretendo es que con los botones de direccion me mueva solamente por los registros de la tabla de articulos. Esto lo he conseguido pero cada vez que me muevo hacia un registro me crea un dialogo nuevo, con lo que si pretendo salir tengo que ir cerrando una por una todas las pantallas que me ha abierto.....
El código que utilizo para esta pantalla es el siguiente:
FUNCTION Registros()
DEFINE dialog odlg resource "Cliente_articulos"
REDEFINE GET clientes->Nomcli id 500 OF odlg
REDEFINE GET clientes->Apecli id 510 OF odlg
redefine get articulos->cod_art id 100 of odlg
redefine get articulos->nom_art id 200 of odlg
redefine get articulos->cant id 300 of odlg
redefine get articulos->precio id 400 of odlg
ACTIVATE dialog odlg;
on init barra_desplazamiento(odlg)
RETURN nil
barra_dezplazamiento(odlg) es una funcion que contiene los iconos de desplazamiento...
FUNCTION barra_desplazamiento(odlg)
LOCAL aux:=1
@ 0, 0 BTNBMP NAME "primero" SIZE 32, 32 of odlg
@ 0, 32 BTNBMP NAME "anterior" SIZE 32, 32 of odlg
@ 0, 64 BTNBMP NAME "siguiente" SIZE 32, 32 of odlg action avanza_articulos(odlg)
@ 0, 96 BTNBMP NAME "ultimo" SIZE 32, 32 of odlg
@ 0, 178 BTNBMP NAME "buscar" size 32, 32 of odlg action odlg:end(),busca_cliente(aux)
@ 0, 210 BTNBMP NAME "salir" SIZE 32, 32 of odlg action odlg:end()
RETU nil
funcion avanza_articulos(odlg) la utilizo para comprobar el final de los articulos (para que solo me muestre los que tiene)
FUNCTION avanza_articulos(odlg)
IF !EOF()
articulos->(dbskip(1))
registros()
ELSE
MsgInfo( "El Cliente no tiene más articulos relacionados" )
endif
RETURN nil
Saludos y gracias...
Elías Torres.