C/Visual C - Imprimiendo que es gerundio (dudas de concepto)

 
Vista:

Imprimiendo que es gerundio (dudas de concepto)

Publicado por Nelek (816 intervenciones) el 03/04/2007 16:17:03
Hola a todos,

ya he acabado (o eso creo) con todo lo que tiene que ver con mi aplicacion y su funcionamiento. Pero ahora a mi jefe le ha dado por querer version impresa de los proyectos. He estado leyendo manuales y la ayuda de VC++ pero hay cosas que no me han quedado claras. Voy a soltar unas cuantas directrices de trabajo / preguntas... y a ver si me podeis corregir / contestar.

1.- Separar CView::OnDraw () para lo visual en la pantalla, CView::OnPrint () para lo que se mande a papel. Como son dispositivos distintos, usar tambien funciones diferenciadas, asi poder leer de los elementos guardados en el CDoc y modificar sus dimensiones o coordenadas a la hora de presentarlos en la vista previa o mandarlos a la impresora, pero sin que se me modifiquen los datos del documento. Correcto?

2.- Como tengo la aplicacion en MM_TEXT (trabajo por pixeles), voy a tener que mapear mis elementos a la hora de mandarlos a la impresora. La duda viene porque el tipo que hizo el manual que estoy consultando esta trabajando con DIB = Device Independent Bitmap (segun la ayuda de VC++) y se ha estructurado el programa que sirve de ejemplo en el manual para adaptarse a esto. ?Como se yo, que tipo de Bitmap son los que se hacen desde el editor de recursos? He estado mirando en el *.rc (abierto en el editor) y como mucho me pone DISCARDABLE. ?Si uso mis bitmaps tal cual los tengo... Podre usar el CDC::StretchBlt igualmente? De que depende el poder usarlo? En caso de ser necesario... como adapto mis recursos a los DIB??

3.- Para apanyar la impresion, el ratio que voy a usar es 5 pixels de la pantalla = 1 mm en la impresora. Este ratio es elegido con toda la intencion porque me permite meter en un A4 un sistema extremo (con TODOS los elementos posibles configurados y emplazados en la pantalla), modificando sus posiciones relativas con un algoritmo que ya tengo hecho para reubicarlos dentro de mis limites y de manera ordenada (Alto total maximo = 1165 pixels --> 233mm, Ancho Total maximo = 800 pixels ---> 130 mm).
Yo habia pensado, mirar cuanto tiene de ancho y alto la impresora, hallar cuantos dpi (celdas de impresion) hay en 1 mm cuadrado en la impresora y entonces establecer las nuevas dimensiones/coordenadas de mis elementos dentro del CView::OnPrint () con una regla de tres tomando como relacion principal la del eje Y (para asegurar que SIEMPRE esta dentro de la superficie de trabajo de la impresora ya que es el eje mas largo). Pero...

Es factible? o tengo que hacerlo de otra manera? Podre seguir usando el CDC::StretchBlt () asi?...

Joer, llevo un par de dias leyendo cosas y mirando aqui y alli... no me imaginaba yo que el imprimir fuera tan complicao. Con tantas pijadas y tantos supuestos, sobre tod por culpa de la variedad de impresoras, drivers y configuraciones posibles a gusto del usuario segun el CPrintDialog (que acabare capandole las prestaciones al maximo para simplificar la impresion). Lo cual me lleva a la 4 pregunta.

4.- Si uso el razonamiento descrito en "3"... Serviria para cualquier impresora? y configuracion? O aun asi habria problemas al ir de un pc a otro segun estuviera una impresora u otra conectada?

Gracias y perdon por la extension.

Espero vuestras respuestas (aunque se que es posible que no reciba ninguna)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Imprimiendo que es gerundio (dudas de concepto)

Publicado por Nacho (6 intervenciones) el 05/04/2007 22:15:15
Y para ese trabajazo... no te merecería la pena ver si existe algún componente ya creado para generación de informes, con soporte de impresión, del estilo de QuickReports?

Yo opté por eso cuando me encontré en tu situación (pero con Delphi, quizá con VC++ la elección esté más limitada, pero no debería). Yo escribía/dibujaba directamente en el Canvas del informe, de forma que él se encargaba de la parte "fea": vista previa y/o impresión, adaptación fiable a cualquier impresora, etc.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Imprimiendo que es gerundio (dudas de concepto)

Publicado por Nelek (816 intervenciones) el 10/04/2007 09:23:45
Gracias, no habia caido en la cuenta. Echare un vistazo a ver que encuentro. Hasta el momento ya he logrado sacar algunas cosas por la impresora, pero sigo teniendo algunos puntos donde me falla la cosa. Ya veremos..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar