Domingo 22 de Diciembre de 2024, 19:21
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Coordenadas (x,y) cuando escribo en picture
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Coordenadas (x,y) cuando escribo en picture (Leído 4555 veces)
Jimbenit
Miembro MUY activo
Mensajes: 269
Nacionalidad:
Coordenadas (x,y) cuando escribo en picture
«
en:
Miércoles 21 de Julio de 2010, 22:43 »
0
Saludos amigos de solocodigo.
Mi duda es cuando escribo en un picture por medio del siguiente sub:
Código: Visual Basic
Sub
Escribir_Texto(PictureKE
As
PictureBox, Color_PictureKE
As
Long
, TamañoLetra
As
Integer
, _
PosX
As
Single
, PosY
As
Single
, Color_Texto
As
Long
, Texto
As
String
)
'Colocamos un punto de igual color del fondo del pictureke, esto hará que el punto se "pierda"
'Esto se hace para ganar la posicion del cursor a la hora de escribir el texto
PictureKE.PSet (PosX, PosY), Color_PictureKE
PictureKE.ForeColor = Color_Texto
PictureKE.FontSize = TamañoLetra
PictureKE.
Print
Texto
End
Sub
Necesito saber la coordenada x una vez termino de escribir en el picture.
La siguiente imagen explica mejor lo que deseo:
En la imagen, yo escribo en el picture en la coordenada (x,y), alli empiezo a escribir la palabra "Temperatura", una vez termino de escribir, el cursor se desplaza automaticamente a la derecha cada vez que escribe las letras de la palara "Temperatura", la pregunta es:
Como saber cual es la distancia que se desplazo el cursor cuando termino de escribir " Temperatura"?
es decir, Como saber cual es la nueva coordenda (X + delta X , Y)?
siendo delta X la distancia de la palabra "Temperatura" ?
Alguna idea?
Saludos.
Tweet
Yo quiero mucho a
Toph
---> Mi Web]http://ingenieriacivil.foroactivo.com[/url]
Nebire
Miembro HIPER activo
Mensajes: 670
Re: Coordenadas (x,y) cuando escribo en picture
«
Respuesta #1 en:
Sábado 24 de Julio de 2010, 20:23 »
0
En un momento que tengo...
A ver Nilson, esto no debería serte a estas alturas problemático...
Sea que estamos pintando en un picture1...
Código: Visual Basic
' elegir una posición x al azar entre 1 y la mitad de la ventana
' escribir temperatura en la x elegida
' Ahora consultamos la posición actual.... del cursor En este preciso instante.
x = picture1.CurrentX
msgbox x
«Ma non troppo»
----> ModoVacaciones = False<----
Jimbenit
Miembro MUY activo
Mensajes: 269
Nacionalidad:
Re: Coordenadas (x,y) cuando escribo en picture
«
Respuesta #2 en:
Sábado 24 de Julio de 2010, 20:42 »
0
jajjaja gracias amigo
Nebire
, pero juraria que con currentx me dio un valor que no esperaba, pero de inmediato reviso...
Yo quiero mucho a
Toph
---> Mi Web]http://ingenieriacivil.foroactivo.com[/url]
Nebire
Miembro HIPER activo
Mensajes: 670
Re: Coordenadas (x,y) cuando escribo en picture
«
Respuesta #3 en:
Sábado 24 de Julio de 2010, 21:10 »
0
Claro, puede darte un valor que no esperas, porque debes tener en cuenta el factor de escala del picture...
Además debes tener en cuenta si haces un retorno de carro o no. Recuerda que un retorno de carró sucede tras un
picture1.print "hola"
, luego al hacer un retorno de carro currentx vuelve a valer 0.
Hay 2 soluciones dependiendo de qué te veas forzado a elegir:
1 - no hacer el retorno de carro en este momento, sino más tarde
Código: Visual Basic
Private
Sub
Form_Load()
Dim
x
As
Long
Me.Show
Picture1.CurrentX = 20
Picture1.
Print
"Temperatura"
;
' el ; indica que continúa en la misma línea...
x = Picture1.CurrentX
picture1.
print
' ahora hacemos el retorno de carro... después de haber tomado la posición.
MsgBox x
End
Sub
2 - Puedes calcular manualmente el 'destino' aunque hubiere saltado de línea, hay 2 propiedades para ello... usamos textwidth...
Código: Visual Basic
Private
Sub
Form_Load()
Dim
x
As
Long
Me.Show
Picture1.CurrentX = 20
Picture1.
Print
"Temperatura"
' hay retorno de carro porque no hay punto y coma..
x = 20 + Picture1.TextWidth(
"Temperatura"
)
' le pido la longitud al mismo texto introducido + el desplazamiento previo...
MsgBox x
End
Sub
«Ma non troppo»
----> ModoVacaciones = False<----
Jimbenit
Miembro MUY activo
Mensajes: 269
Nacionalidad:
Re: Coordenadas (x,y) cuando escribo en picture
«
Respuesta #4 en:
Martes 27 de Julio de 2010, 17:48 »
0
Ya las probe y funcionan excelente, me gusto mucho el metodo textwidth para este caso...
Que te puedo decir?, muchas gracias amigo
Nebire
Código: Visual Basic
Sub
Escribir_Texto_ConLinea(PictureKE
As
PictureBox, Color_PictureKE
As
Double
, TamañoLetra
As
Integer
, _
PosX
As
Single
, PosY
As
Single
, Color_Texto
As
Double
, Texto
As
String
,
Optional
ByRef
Delta_X
As
Single
)
Dim
Delta_X_OLD
As
Single
Delta_X_OLD = Delta_X
'Delta_X es la coordenada X donde se termina de escribir la palabra
'Texto es la palabra escrita
PictureKE.PSet (PosX, PosY), Color_PictureKE
PictureKE.ForeColor = Color_Texto
PictureKE.FontSize = TamañoLetra
PictureKE.
Print
Texto;
Delta_X = PictureKE.CurrentX
If
Delta_X < Delta_X_OLD
Then
Delta_X = Delta_X_OLD
End
If
End
Sub
Luego hago lo siguiente en donde llamo a este procedimiento:
Código: Visual Basic
'INCORPORANDO TEXTOS
Dim
XF
As
Single
'XF almacen al coordenada X despues de escribir el texto
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, X + 1.25 * Ancho_TOW, Y, Color_Text,
"Flow Rate: "
, XF)
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, X + 1.25 * Ancho_TOW, 1.3 * Y, Color_Text,
"Temperatura (ºC): "
, XF)
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, X + 1.25 * Ancho_TOW, 1.6 * Y, Color_Text,
"Liquid Max Flux : "
, XF)
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, X + 1.25 * Ancho_TOW, 1.9 * Y, Color_Text,
"Desired Effluent Oxygen : "
, XF)
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, X + 1.25 * Ancho_TOW, 2.2 * Y, Color_Text,
"Desired Effluent CO2 : "
, XF)
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, X + 1.25 * Ancho_TOW, 2.8 * Y, Color_Text,
"Diameter : "
, XF)
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, X + 1.25 * Ancho_TOW, 3.1 * Y, Color_Text,
"Packing Height : "
, XF)
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, X + 1.25 * Ancho_TOW, 3.4 * Y, Color_Text,
"Reservoir : "
, XF)
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, X + 1.25 * Ancho_TOW, 3.7 * Y, Color_Text,
"Inlet : "
, XF)
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, X + 1.25 * Ancho_TOW, 4 * Y, Color_Text,
"Outlet : "
, XF)
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, X + 1.25 * Ancho_TOW, 4.3 * Y, Color_Text,
"Vacuum : "
, XF)
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, X + 1.25 * Ancho_TOW, 4.6 * Y, Color_Text,
"Relationship Vaccum : "
, XF)
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, X + 1.25 * Ancho_TOW, 4.9 * Y, Color_Text,
"Packing Type : "
, XF)
'Resultados de los textos anteriores
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, XF + 2 * D_Dist, Y, Color_Resultados, Valor_Flow_Rate &
" m^3/s"
)
'flow rate
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, XF + 2 * D_Dist, 1.3 * Y, Color_Resultados, Valor_Temperatura &
" ºC"
)
'temperatura
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, XF + 2 * D_Dist, 1.6 * Y, Color_Resultados, Valor_Liquid_Max_Flux &
" Kg/m^2/s"
)
'liquid Max Flux
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, XF + 2 * D_Dist, 1.9 * Y, Color_Resultados, Valor_Desired_Effluent_Oxygen &
" mg/L"
)
'desired oxygen
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, XF + 2 * D_Dist, 2.2 * Y, Color_Resultados, Valor_Desired_Effluent_CO2 &
" mg/L"
)
'desired co2
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, XF + 2 * D_Dist, 2.8 * Y, Color_Resultados, Valor_Diameter &
" m"
)
'diametro
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, XF + 2 * D_Dist, 3.1 * Y, Color_Resultados, Valor_Packing_Height &
" m"
)
'altura del shell
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, XF + 2 * D_Dist, 3.4 * Y, Color_Resultados, Valor_Reservoir &
" m"
)
'altura reserva
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, XF + 2 * D_Dist, 3.7 * Y, Color_Resultados, Valor_inlet &
" m^3"
)
'entrada de liquido ??? es m^3 ?
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, XF + 2 * D_Dist, 4 * Y, Color_Resultados, Valor_Outlet &
" m^3"
)
'salida de liquido ??? es m^3 ?
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, XF + 2 * D_Dist, 4.3 * Y, Color_Resultados, Valor_Vacuum &
" mm Hg"
)
'vacuum presion
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, XF + 2 * D_Dist, 4.6 * Y, Color_Resultados, Valor_Relationship_Vacuum)
'vacuum ralacion
Call
Escribir_Texto_ConLinea(PictureKE, Color_PictureKE, 9, XF + 2 * D_Dist, 4.9 * Y, Color_Resultados, Packing_Type)
'Packing type
y bueno, me funciono bien...
Yo quiero mucho a
Toph
---> Mi Web]http://ingenieriacivil.foroactivo.com[/url]
Jimbenit
Miembro MUY activo
Mensajes: 269
Nacionalidad:
Re: Coordenadas (x,y) cuando escribo en picture
«
Respuesta #5 en:
Miércoles 28 de Julio de 2010, 00:59 »
0
Gracias
Nebire
(posteo de nuevo, para que veas los resultados ya que edite el post
)
Yo quiero mucho a
Toph
---> Mi Web]http://ingenieriacivil.foroactivo.com[/url]
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Coordenadas (x,y) cuando escribo en picture