Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-04-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Rejilla, Db e imprimir.

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;
{Ancho de la línea anterior a subrayar}
Todo:Integer;
Uno:Integer;
{Al dividir el ancho total entre 4 obtengo el número de guiones
que tengo que poner}
Resta:Variant;
begin
Uno:=4; //Medida de un guión en arial 9 que es lo que se va a utilizar

  if ((Key ='.') and (GrLineas.SelectedIndex = 0)) or ((Key ='.') and (GrLineas.SelectedIndex = 2)) then
  key:=',';

  if key ='-' then
  begin
  S:='';
  {Por si es una nueva línea, primero la grabo}
  DmGanc.Linalbar.Edit;
  DmGanc.LinAlbar.Post;

  {Ahora voy a la anterior para ver el ancho que tiene}
  DmGanc.LinAlbar.Prior;
  Todo:=Canvas.TextWidth(DmGanc.LinAlbarConcepto.value);

  {Número de guiones que hay que añadir}
  Resta:= Todo / uno;
  uno:=Resta;


  {Vuelvo a donde estaba para poner los guiones}
  DmGanc.linalbar.next;
  S:=StringofChar('-',Uno);

  DmGanc.Linalbar.Edit;
  DmGanc.LinAlbarConcepto.Value:=s;
  {Cuando pulso F2 funciona sino me borra los caracteres que le paso
  por eso le envío la tecla F2 para que funcione}
  keybd_event(VK_F2,0,0,0);
  end;

end;
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 24-04-2006 a las 07:17:00.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Desplazamiento horizontal en una rejilla sur-se OOP 2 26-06-2006 15:48:09
Apuntar a una fila en una rejilla TheWolfMan Varios 1 19-11-2005 17:09:06
Rejilla Dynamica en Web!!! quitos Internet 2 13-07-2004 11:32:58
Lookupcombo en una rejilla de datos User_Baja_2 Varios 0 20-05-2004 13:28:30
Seleccionar fila en rejilla... superhopi OOP 2 08-07-2003 19:02:46


La franja horaria es GMT +2. Ahora son las 06:04:58.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi