Ver Mensaje Individual
  #2  
Antiguo 20-11-2006
Jose Manuel Jose Manuel is offline
Miembro
 
Registrado: may 2003
Posts: 112
Reputación: 24
Jose Manuel Va por buen camino
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;
       // Si pulsamos IMPRIMIR, Deberiamos capturar la llamada y
       // ejecutarla como cuando se imprime directamente.
       end;

    if Button = IDNO   then // no previsualiza e imprime directamente
    begin
       case impr_liq_copias.itemindex of
    -1,0: begin {en el combobox se ha selecionado todas las copias}
          nCopias:=4;
          Print_autoliq.QR_autoliq.QRLabelEjemplar.tag := 0;
          end;
       1: begin {en el combobox se ha selecionado la 1º copia}
          nCopias:=1;
          Print_autoliq.QR_autoliq.QRLabelEjemplar.tag := 0;
          end;
       2: begin {en el combobox se ha selecionado la 2º copia}
          nCopias:=1;
          Print_autoliq.QR_autoliq.QRLabelEjemplar.tag := 1;
          end;
       3: begin {en el combobox se ha selecionado la 3º copia}
          nCopias:=1;
          Print_autoliq.QR_autoliq.QRLabelEjemplar.tag := 2;
          end;
       4: begin {en el combobox se ha selecionado la 4º copia}
          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; // se imprime el nº de copias seleccionado.
      end;
    end;
Responder Con Cita