Red de conocimiento informático - Problemas con los teléfonos móviles - Problema del sistema de coordenadas VB

Problema del sistema de coordenadas VB

{El código ha sido modificado según tu solicitud} Olvidé qué QQ tienes, así que no puedo enviarlo (necesitas el archivo de código fuente para realizar QQ)

Debes seguir el código modificado Guardar, dar puntos, jaja, 200 puntos jajaja

Lo he solucionado, puedes crear un nuevo proyecto y copiar todo el código,

Controle primero:

1. Ingrese al entorno de desarrollo VB6, abra un nuevo proyecto estándar (¿Estándar? EXE), cambie el nombre del proyecto a prjCdntDemo, el nombre de Form1 a frmMain, el título es "Demostración de coordenadas adaptativas". : Función dFindStep()", el ancho es 6150 y el alto es 4995.

2. Según el diseño de 9 controles CommandButton y 1 control PictureBox en la Figura 1, el nombre de CommandButton y las propiedades del título son: cmdXUp, ? cmdXDown, ? ; cmdXDown,?Alejar horizontalmente; cmdYUp,?Acercar verticalmente; cmdYDown,?Acercar verticalmente; cmdLeft,?Mover hacia abajo; ,?Salir; PictureBox El nombre del control es picCoordinate, la parte superior es 1020, la izquierda es 0, el ancho es 6000, la altura es 3500 y otras propiedades son valores predeterminados.

Esto es necesario, el siguiente es el código de copia,,,,

¿Privado?Declarar?Función?TextOut?Lib?"gdi32"? ¿"TextOutA"? (¿ByVal?hdc?As?Long, ByVal?x?As?Long, ByVal?y?As?Long, ByVal?lpString?As?String, ByVal?nCount?As?Long)?As?Long

¿Privado?dStartX?As?Double'Valor inicial de coordenadas físicas horizontales

Privado?dEndX?As?Double'Valor final de coordenadas físicas horizontales

Privado?dStartY?As?Double' Valor inicial vertical de coordenadas físicas

Privado?dEndY es el valor final vertical de coordenadas físicas Doble

Privado?b(100) es Doble

¿Privado?Función?dFindStep (StepMin es Doble) es Doble

Dim?dStep es Doble? Valor de comparación de búsqueda

Dim?dStepOld?As?Double

If?StepMin?=? 0?Entonces?'Si StepMin es igual a cero, devuelve cero

dFindStep?=?0

¿Salir?Función

Fin?/p>

¿Fin?Si

StepMin?=?Abs(StepMin)?Si es menor que cero, toma su valor absoluto

dStep?=?50?'Empezar a buscar reglas regulares de 50 secuencias de intervalos

If?StepMin?

While?StepMin?

dStepOld?=?dStep

dStep?=?dStep?/?2.5'En este punto dStep=20,2, 0.2.. .Espera

Si?StepMin?

dStepOld?=?dStep

dStep?=?dStep?/?2? 'Esto cuando dStep=10,1,0.1...etc.

Si?StepMin?

dStepOld?=?dStep

dStep? =?dStep?/?2?'En este momento dStep=5,0.5,0.05...etc

Fin?Si

Fin?Si

Wend

dFindStep?=?dStepOld?'?Porque dStep

De lo contrario, si X>=50, continúe buscando hacia la derecha

¿Mientras?StepMin?>?dStep'En este momento, dStep=50,500,5000...y así sucesivamente.

dStep?=?dStep?*?2?'En este momento, dStep=100,1000,10000...y así sucesivamente.

Si?StepMin?>?dStep?entonces

dStep?=?dStep?*?2?'En este momento dStep=200,2000,20000...etc.

p>

Si?StepMin?>?dStep?Then

dStep?=?dStep?*?2.5'En este punto dStep=500,5000,50000... etc.

Si?StepMin?>?dStep?...etc.

¿Fin?Si

Fin?Si

Fin

dFindStep?=?dStep'regresar a dStep

¿Fin?Si

Fin?Función

Privado?Sub?DrawCoordinate(iCrossX?As?Integer,?iCrossY?As?Integer,?iWidth?As?Integer,?iHeight? As ?Integer,?dStartX?As?Double,?dStartY?As?Double As?Integer,?dStartX?Dim?dCdnStep?As?Double'Valor físico longitud del paso

Dim?lCdnStep?As?Long ' Paso del valor de la ventana

Dim?crtPosition?As?Long'Posición de coordenadas de la ventana actual

Dim?UpN?As?Double?'Número máximo de fotogramas

Dim ?dRemain?As?Double?'La longitud de las coordenadas físicas del primer cuadro

Dim?dValue?As?Double?'La posición de las coordenadas físicas actuales

Dim?

Dim?i?As?Integer

Dim?strTemp?As?String'El texto de coordenadas almacenado

Dim?strFormat?As?String'El formato de las coordenadas texto

p>

Dim?dAltura?As?Doble?'Altura física

Dim?dAncho?As?Doble?'Ancho de coordenadas físicas

dAltura?= ?dEndY?dStartY

dWidth=dEndX-dStartX

Borrar el área de dibujo en la pantalla

'Dibujar dos ejes con flechas

picCoordinate.Line?(iCrossX,?iCrossY)-(?iCrossX?+?iWidth?+?200,?iCrossY),?RGB(0,?0,?255)

picCoordinate.Line?( iCrossX,?iCrossY)-(?iCrossX,?iCrossY?-?iCrossY?-?iHeight?-?200)-(iCrossX?-?30,?iCrossY?-?iHeight),?RGB(0,?0,? 255)

PicCoordinate.Line?200)-(iCrossX?+?30,?iCrossY?-?iHeight),?RGB(0,?0,?255)