Red de conocimiento informático - Conocimiento informático - Cómo hacer que el formulario vb se imprima en el medio del papel

Cómo hacer que el formulario vb se imprima en el medio del papel

Función SIWYG, Lo que ves es lo que obtienes). "Lo que ves es lo que obtienes" significa que el efecto de impresión del software es exactamente el mismo que el efecto de visualización en pantalla. "Lo que ves es lo que obtienes" es una de las principales ventajas de los programas de Windows.

Este artículo presentará cómo utilizar Visual BASIC (en adelante, VB) para escribir un programa de Windows con la función "Lo que ves es lo que obtienes".

1. Descripción general del método

Para simular el efecto de impresión en la pantalla, utilizamos un formulario VB para simular una hoja de papel de impresión. En VB, cada formulario tiene un método PrintForm. Usando el método PrintForm, el contenido de un formulario se puede imprimir a través de una impresora exactamente de la misma manera. Debido a que el método PrintForm imprime el contenido del formulario, imprime el texto y los gráficos del formulario por igual. Por lo tanto, mediante una programación sencilla, el método PrintForm se puede utilizar para realizar una impresión mixta de gráficos y texto de manera muy conveniente.

① Determine las fuentes de doble función de visualización e impresión que los usuarios pueden usar

Las fuentes que los usuarios pueden usar en el programa "WYSIWYG" deben ser dispositivos de visualización y dispositivos de impresión que admitan ambos. Fuente de doble función de Windows. Sólo estas fuentes pueden producir el mismo efecto en la pantalla y en la impresora. Por lo tanto, el programa primero debe obtener los nombres de estas fuentes de doble función para mostrarlas e imprimirlas.

②Establezca el tamaño del formulario "Papel" en la pantalla

Al leer la configuración de tamaño de papel del Administrador de impresión de Windows, cree una ventana con la misma proporción de tamaño que el papel de impresión. en VB El formulario relacional sirve como "papel" en la pantalla para simular el efecto de impresión, lo que permite a los usuarios ver la distribución de posición del texto y los gráficos en el papel de impresión en la pantalla.

③El usuario simula el efecto de impresión en el "papel" de la pantalla.

En forma de impresión simulada utilizando Imprimir, Línea, Círculo y otros métodos para dibujar texto y gráficos, puede Utilice también el cuadro Gráfico, Gráfico. VBX, OLE y otros controles dibujan gráficos, cuadros estadísticos, fórmulas, fuentes artísticas, etc.

④Envíe el contenido del "papel" de la pantalla a la impresora.

Utilice el método PrintForm del formulario para enviar el texto y los gráficos dibujados en el paso ③ a la impresora y el resultado. será exactamente igual que la visualización en pantalla. Imprima copias para lograr "lo que ve es lo que obtiene".

2. Coincidencia precisa de fuentes de impresora y fuentes de monitor

Las fuentes de Windows se dividen en dos categorías: fuentes de impresora y fuentes de monitor. Varias fuentes TrueType (como las fuentes Song Dynasty y Heilongjiang) son fuentes de doble función para visualización e impresión. Otras fuentes que no son TrueType solo se pueden utilizar para visualización o impresión.

Si se utiliza una fuente que solo se puede usar para visualización en la salida de texto del formulario de impresión simulado, cuando se ejecuta el método PrintForm, Windows solo puede encontrar una fuente de impresión que coincida con esta fuente de visualización. Para imprimir se utiliza la fuente que coincide con el patrón de fuente. Esto hará que la copia impresa resultante no sea coherente con la visualización en pantalla.

Para que el programa obtenga la capacidad "lo que ves es lo que obtienes", se debe utilizar una fuente de doble función para visualización e impresión en la salida del formulario. Por lo tanto, una clave para la capacidad de un programa de "lo que ves es lo que obtienes" es garantizar que en la salida de pantalla sólo se utilicen fuentes de doble función para visualización e impresión.

En VB se proporcionan dos objetos globales: el objeto de pantalla Pantalla y el objeto de impresora Impresora. Ambos objetos proporcionan propiedades FontCount y propiedades Fonts. La propiedad FontCount proporciona la cantidad de fuentes disponibles y la propiedad Fonts proporciona los nombres de las fuentes disponibles. En el programa, podemos eliminar las fuentes que pertenecen al objeto Pantalla y al objeto Impresora. Estas fuentes son todas fuentes de doble función para visualización e impresión.

El procedimiento específico es el siguiente:

Primero configure un cuadro de lista, asígnele el nombre Lista1 y luego llame a la siguiente función GetFont para almacenar los nombres de todas las pantallas e impresiones duales. fuentes de función en List1.

Sub GetFont()

Para i=0 a pantalla. FontCount-1

Para j=0 a la impresora. FontCount-1

Si pantalla. Fuentes(i)=Impresora. Fuentes(j) Luego

Lista1. Add1tem (Sereen.Fonts(i))

Finalizar si

Siguiente j

Siguiente i

Fin Sub

3. Coincidencia del tamaño del formulario y del papel

Para ver claramente la posición y la relación de tamaño del texto y los gráficos en el papel de impresión en la pantalla, la relación de tamaño de la ventana de visualización de VB debe ser La proporción de tamaño del papel de impresión es consistente. El tamaño del papel de impresión se puede obtener utilizando las propiedades Ancho y Alto del objeto Impresora. Según el valor del atributo obtenido, la proporción de tamaño del formulario de visualización VB se puede configurar para que se ajuste a la proporción del papel.

Hay una variable Tamaño en el siguiente programa y su rango de valores es 0-1. Su función es controlar el tamaño de los gráficos impresos. Cuando el valor de Tamaño es 1, los gráficos impresos tendrán el mismo tamaño que el papel configurado por Windows. El procedimiento específico es el siguiente:

Sub Form_Load()

Dim SizeAS INTECER

Tamaño=0.95

Form1.Height=Impresora . Alto*Tamaño

Form1.Wdth=Impresora. Ancho*Tamaño

End Sub

4. Impresión e impresión simuladas

El siguiente programa demuestra la simulación de impresión de texto y gráficos en el método de visualización. y el método de utilizar PrintForm para enviar el texto y los gráficos en el formulario de visualización a la impresora.

Nota: Para utilizar el método PrintForm, la propiedad AutoRedraw del formulario de visualización debe estar establecida en True.

Dado que el método PrintForm imprime el contenido del formulario utilizando el método de copia bit a bit, todo el texto y los gráficos del formulario se pueden imprimir tal como están. Como ejemplo, podemos usar controles OLE para mostrar fórmulas editadas en el editor de fórmulas de Word y usar controles de Imagen y Gráfico para mostrar gráficos y cuadros estadísticos. Luego use el método PrintForm para imprimirlos.

El procedimiento específico es el siguiente:

Sub PrintOnScreen()

Form1. Scale(0, 0)-(100, 100) 'Establecer coordenadas

Form1. Line(100,0)-(0,100) 'Mostrar dibujo lineal

Form1. CurrentX=0

Formulario1. CurrentY=0

Formulario1. FontName="宋体" ' Texto de salida

Form1. Tamaño de fuente=20

Formulario1. Imprimir "Impresión de simulación"

Imagen1. Picture=LoadPicture("setup.bmp") 'Gráficos de salida

Form1. PrintForm ' Envía el contenido del formulario de visualización a la impresora

Impresora. EndDoc 'Iniciar impresión

End Sub