Red de conocimiento informático - Aprendizaje de código fuente - La idea del código de escalar imágenes en idioma Yi. ¿Puede funcionar el tablero de dibujo? La imagen cambia completamente con el tamaño del (¿componente?). marco.

La idea del código de escalar imágenes en idioma Yi. ¿Puede funcionar el tablero de dibujo? La imagen cambia completamente con el tamaño del (¿componente?). marco.

¡Se te proporciona todo el código fuente, similar a la ventana de chat de QQ!

Debido a la eficiencia de dibujo relativamente baja de la mesa de trabajo, ¡algunas imágenes grandes pueden quedar atascadas!

Al colocar otros componentes, preste atención al foco de la ventana. Si el foco no está en la ventana _start, el evento _start window_wheel is roll no será válido.

Versión 2. Biblioteca de soporte eAPI

Ensamblaje de ventana de ensamblaje 1

Fondo de variable de ensamblaje, bloc de dibujo

. número

Valor de escala de variable ensamblador X, tipo decimal

Valor de escala de variable ensamblador Y, tipo decimal

. >

Variable de ensamblaje y, tipo entero

La variable de ensamblaje se puede mover, tipo lógico

Subrutina __start window_Creada

Borde = 0<. /p>

Copiar componente de ventana (mesa de trabajo 1, fondo)

Mesa de trabajo 1. Mover (0, 0, obtener ancho del área de usuario (), obtener altura del área de usuario ())

Background.Move (0, 0, Obtener ancho del área de usuario (), Obtener altura del área de usuario ())

Tablero de dibujo 1. Redibujado automático = Verdadero

Background.Autoredraw = Verdadero

Cuadro de diálogo común 1. Filter="Archivo de imagen|*.jpg;*.bmp;*.gif;*.ico ”

Valor de escala >.Posición horizontal del parámetro, tipo entero

.Posición vertical del parámetro, tipo entero

.Estado de la tecla de función del parámetro, tipo entero

.Si es verdadero (cuadro de diálogo general 1. Abrir () )

Número de imagen = Cargar imagen (cuadro de diálogo común 1. Nombre de archivo)

Dibujar ()

Si es verdadero, final

. .Dibujo de subrutina, tipo lógico

Variable local htkd

Variable local htgd

Si es verdadero (número de imagen = 0)

Devuelve (falso)

Fin si es verdadero

htkd = valor de escala X × fondo Obtenga el ancho de la imagen (número de imagen)

htgd = valor de escala. Y , 0, htkd, htgd)

Fondo de dibujo (número de imagen, 0, 0, htkd, htgd, )

Fondo (, , , , Tablero de dibujo 1. , 0 , 0, )

Mover (, , htkd, htgd)

Regresar (verdadero)

Subroutine_Drawingboard 1_Se presiona el botón izquierdo del mouse, tipo lógico.

Posición horizontal del parámetro, tipo entero

Posición vertical del parámetro, tipo entero

. ' Enviar mensaje (161, 2, 0)

x = posición horizontal

y = posición vertical

movable = true

Capturar mouse (tablero de dibujo 1. Obtener identificador de ventana ())

Subrutina_tablero de dibujo 1_se suelta el botón izquierdo del mouse, tipo lógico

.Parámetro posición horizontal, tipo entero

.Parámetro posición vertical, tipo entero

.Parámetro

Estado de la tecla de función, tipo entero

Suelta el mouse() para mover = false

Subrutina_Paint1_La posición del mouse se mueve, tipo lógico

. tipo

Posición vertical del parámetro, tipo entero

Estado de la tecla de función del parámetro, tipo entero

.Si es verdadero (móvil)

. Lado izquierdo = Obtener la posición horizontal del mouse () - x

Lado superior = Obtener la posición vertical del mouse () - y

Si es verdadero, finalizar

.Subprograma__ventana de inicio_la rueda gira, tipo lógico

.Distancia de desplazamiento del parámetro, tipo entero

.Estado de la tecla de función del parámetro, tipo entero

Escala valor

Valor de escala X = 0.1

Si es verdadero final

Si es verdadero (valor de escala = 5

. Si es verdadero final.

Si es verdadero (valor de escala Y < 0,1)

Valor de escala Y = 0,1

Finalizar si es verdadero

. verdadero (valor de escala X > 5)

Valor de escala Y = 5

Finalizar si es verdadero

Draw()

Depuración de salida. texto (valor de zoom X)