Me Respondo
1.Colocas un Hprogressbar control sobre la ventana o pantalla de consulta, le colocas un nombre y dejas como estan sus propiedades por defecto. Para el ejemplo lo llamaremos hpb_1.
2.En el evento Open() de la pantalla o ventana de consulta pones:
hpb_1.visible=false
3.Te ubicas en el datawindow que carga los registros de la consulta y en su evento Retrievestart() colocas lo siguiente:
//variable que almacena el total de registros de la consulta a la base datos. long ll_total
//Hacemos la consulta a la base de datos. select count(*) into :ll_total from [nombre_tabla o nombre_vista]
using sqlca;
//Definimos las propiedades en el Hprogressbar. hpb_1.minposition=0
//El total de registros devuelto por la consulta lo asignamos a su maxima posicion. hpb_1.maxposition=ll_total
//Ponemos el Hprogressbar a una minima posicion. hpb_1.position=1
//Mostramos el Hprogressbar control cuando se empieza a cargar. hpb_1.visible=true
4. En el evento Retrieverow() del mismo datawindow colocas lo siguiente:
//Asignamos cada registro que se carga a la posicion del Hprogressbar control. hpb_1.position=row
5. En el evento Retrieveend() del mismo datawindow colocas lo siguiente:
//Cuando se termina de cargar todos los registros, volvemos a ocultar el Hprogressabar control. hpb_1.visible=false
Si alguien tiene forma mas sencilla o mejor pueden publicarla se les agradece