Gracias por las ideas, el proceso funciona bien cuando imprimimos sin visualizar el listado, pero si elegimos visualizar el listado, surgen los siguientes problemas:
1º El usuario puede optar por no imprimir
2º Si pulsa imprimir, sale una copia o las que hayamos seleccionados pero todas iguales,
3º Si despues del
Print_autoliq.QR_autoliq.PreviewModal; pongo algo, siempre se ejecutará despues de que el usuario cierre el listado, y tal vez el usuario no lo sepa o se le olvide.
Lo ideal, sería capturar la pulsación de la tecla IMPRIMIR cuando estamos previsualizando este listado, y ejecutarlo como cuando se imprime directamente.
Muchas gracias por vuestra ayuda, veré si soy capaz de hacer esto
Un saludo a todos
Jose Manuel
Código Delphi
[-] mensaje:='Quieres pre-visualizar el listado antes de imprimirlo (SN)';
Button := Application.MessageBox(pChar(mensaje), 'Seleccionar opción', MB_YESNOCANCEL +
mb_DefButton1);
if Button = IDYES then
begin
Print_autoliq.QR_autoliq.PreviewModal;
end;
if Button = IDNO then begin
case impr_liq_copias.itemindex of
-1,0: begin
nCopias:=4;
Print_autoliq.QR_autoliq.QRLabelEjemplar.tag := 0;
end;
1: begin
nCopias:=1;
Print_autoliq.QR_autoliq.QRLabelEjemplar.tag := 0;
end;
2: begin
nCopias:=1;
Print_autoliq.QR_autoliq.QRLabelEjemplar.tag := 1;
end;
3: begin
nCopias:=1;
Print_autoliq.QR_autoliq.QRLabelEjemplar.tag := 2;
end;
4: begin
nCopias:=1;
Print_autoliq.QR_autoliq.QRLabelEjemplar.tag := 3;
end;
end;
for i:= 1 to nCopias do
begin
case Print_autoliq.QR_autoliq.QRLabelEjemplar.tag of
0: Print_autoliq.QR_autoliq.QRLabelEjemplar.caption := 'Ejemplar para el INTERESADO';
1: Print_autoliq.QR_autoliq.QRLabelEjemplar.caption := 'Ejemplar para el ESTABLECIMIENTO DE CREDITO A REMITIR ';
2: Print_autoliq.QR_autoliq.QRLabelEjemplar.caption := 'Ejemplar para el ESTABLECIMIENTO DE CREDITO';
3: Print_autoliq.QR_autoliq.QRLabelEjemplar.caption := 'Ejemplar a CONSERVAR POR LA OFICINA GESTORA';
end;
Print_autoliq.QR_autoliq.QRLabelEjemplar.tag := Print_autoliq.QR_autoliq.QRLabelEjemplar.tag + 1;
Print_autoliq.QR_autoliq.Print; end;
end;