Bueno el tema es el siguiente:
Un Cliente quiere porque ya venía haciéndolo así, que en una rejilla en que se graban líneas de albarán, de vez en cuando en una de esas líneas, pone guiones - y los utiliza para subrayar:
Ejemplo:
PONER A PUNTO
---------------
Y al imprimir que le queden a la par los guiones y el texto, (se imprime la factura que se creará posteriormente con QuickReport).
El problema viene porque en la rejilla los guiones no se visualizan como luego quedarán al imprimir o en la vista previa, por lo que rellenando con guiones una línea para hacer el efecto de subrayado de la anterior, los guiones quedan a la par pero al imprimir o en la vista previa no.
Conclusión, que yo he hecho lo siguiente, que me funciona correctamente por cierto, lo cual es ya un alivio, pero lo pego aquí, por si a alguien se le ocurre algo mejor y mejor para mí es que sea más simple y además funcione.
Código Delphi
[-]procedure TfrAlbaran.GrLineasKeyPress(Sender: TObject; var Key: Char);
var
S:String;
Todo:Integer;
Uno:Integer;
Resta:Variant;
begin
Uno:=4;
if ((Key ='.') and (GrLineas.SelectedIndex = 0)) or ((Key ='.') and (GrLineas.SelectedIndex = 2)) then
key:=',';
if key ='-' then
begin
S:='';
DmGanc.Linalbar.Edit;
DmGanc.LinAlbar.Post;
DmGanc.LinAlbar.Prior;
Todo:=Canvas.TextWidth(DmGanc.LinAlbarConcepto.value);
Resta:= Todo / uno;
uno:=Resta;
DmGanc.linalbar.next;
S:=StringofChar('-',Uno);
DmGanc.Linalbar.Edit;
DmGanc.LinAlbarConcepto.Value:=s;
keybd_event(VK_F2,0,0,0);
end;
end;
Un Saludo.