Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Mover Control
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Mover Control 
 
esa es mi gran duda...
cual es el código para mover un objeto???
ejemplo:
tengo un picturebox... y la quiero cambiar de posición en tiempo de ejecución,
lo que quiero es que al presionar una tecla (->) se mueva hacia la derecha
o por lo menos que al darle click se mueva,
espero puedan ayudarme
 



 
última edición por arkyansoul el Domingo, 21 Noviembre 2010, 01:57; editado 1 vez 
arkyansoul - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mover Objeto 
 
Es muy facil...

Si te fijas, en muchos controles (incluido el picturebox), tienen la propiedad X e Y, que determinan la posición de objeto en el formulario.
Solo tienes que añadir un valor para que se mueva (X es para horizontal e Y es para vertical)

Ejemplo de código:

PUBLIC SUB PictureBox1_MouseDown()
'incrementa el valor de X en 20 unidades, (lo mueve hacia la derecha), si quieres para la izquierda tendrias que restar
  PictureBox1.x += 20
END


Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mover Objeto 
 
Creo que se refiere a pulsar una tecla...

Eso tienes que hacerlo con los eventos KeyPress o KeyRelease y la clase Key.
Lo que no se es donde tienes que poner el codigo para que salte el evento siempre que pulses esas teclas.

He hecho codigo donde discrimino entre teclas pulsadas, pero no recuerdo ahora mismo como se hacia. Hago pruebas, y te comento.

Saluud!!
 



 
AnSnarkista - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mover Objeto 
 
Ya lo resolvi de la siguiente manera

PUBLIC SUB Objeto_KeyPress()

IF Key.Code = Key.Right THEN Objeto.X = Objeto.X + 40
IF Key.Code = Key.Down THEN Objeto.Y = Objeto.Y + 40
IF Key.Code = Key.Up THEN Objeto.Y = Objeto.Y - 40
IF Key.Code = Key.Left THEN Objeto.X = Objeto.X - 40

END


en este caso el objeto avanza 40 píxeles al presionar la tecla correspondiente

Me pase un ratote averiguando eso, pero valio la pena  
 



 
última edición por arkyansoul el Viernes, 19 Noviembre 2010, 19:54; editado 1 vez 
arkyansoul - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mover Objeto 
 
joooooodeeerrrr!!! perdon tio, estuve haciendo practica toooooda la tarde, y escribi el comentario que iba a postear en tomboy, pero....se quedo ahi....

te hubiera ahorrado tiempo...aunque yo lo hice con SELECT CASE

Salud!
 



 
AnSnarkista - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mover Objeto 
 
Tambien he estado viendo eso del SELECT CASE

pero no me confundo en la parte que va despues de SELECT CASE
en el ejemplo del libro de gambas biene SELECT CASE [Expresion]
y ay es donde no se que poner  

seria genial que pusieras el código que puse pero con SELECT CASE
 



 
arkyansoul - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mover Objeto 
 
Con select case debe de ser algo parecido a esto:

PUBLIC SUB control_KeyPress()
select case key.code
case Key.Right
 control.X = Objeto.X + 40
case  Key.Down
 control.Y = Objeto.Y + 40
case  Key.Up
 control.Y = Objeto.Y - 40
case  Key.Left
 control.X = Objeto.X - 40
end select
END


Saludos

Nota:
Tras el consejo de jguardon, cambio la denominación de Objeto, por Control..
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Domingo, 21 Noviembre 2010, 02:43; editado 3 veces 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mover Objeto 
 
Por cierto... aunque incluso los widgets (o controles) son también objetos (clases), no es muy habitual ni recomendable llamar "objetos" a los "controles".

Aquí está la definición de "objeto" en programación, según Wikipedia:

"En el paradigma de programación orientada a objetos (POO, o bien OOP en inglés), un objeto se define como la unidad que en tiempo de ejecución realiza las tareas de un programa. También a un nivel más básico se define como la instancia de una clase.

Estos objetos interactúan unos con otros, en contraposición a la visión tradicional en la cual un programa es una colección de subrutinas (funciones o procedimientos), o simplemente una lista de instrucciones para el computador. Cada objeto es capaz de recibir mensajes, procesar datos y enviar mensajes a otros objetos de manera similar a un servicio.

En el mundo de la programación orientada a objetos (POO), un objeto es el resultado de la instanciación de una clase."



También de Wikipedia, el significado de "widget" o "control":

"En el contexto de la programación de aplicaciones visuales, los widgets tienen un significado más amplio como componente o control visual que el programador reutiliza y tienen un gran valor para el usuario, idea íntimamente ligada con el concepto de interfaz gráfica de usuario (GUI por sus siglas en inglés). Veamos algunos detalles al respecto:

Desde esta perspectiva, un widget, también conocido como artilugio o control, es un componente gráfico, o control, con el cual el usuario interactúa, como por ejemplo, una ventana, una barra de tareas o una caja de texto"


Por lo tanto, en este contexto el título del post es confuso... los objetos no se mueven  

Es necesario conocer la terminología para hablar con algo de propiedad. Pero bueno, estamos entre amiguetes, no?

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mover Control 
 
Jesús, es cierto que el título del mensaje es confuso, también es válida y oportuna tu recomendación sobre la necesidad de ser más específicos al preguntar. Sin embargo, y a pesar de que en el primer párrafo de tu mensaje especificas que un control es un objeto, cuando citas sendas definiciones de la Wikipedia parecería que tu propósito es señalar alguna diferencia entre ellas como causa de la ambigüedad, especialmente porque a continuación dices "Por lo tanto, en este contexto el título del post es confuso... los objetos no se mueven".

La cita: "En el contexto de la programación de aplicaciones visuales, los widgets tienen un significado más amplio..." no se comprende, ¿comparado con qué cosas los widgets tienen un significado más amplio? ¿en qué sentido? Si se los compara con objetos no gráficos o que no forman parte del IGU, se podrían indicar similitudes y diferencias, pero dado que todos son objetos no hay una relación causal entre sus diferencias y el título confuso del mensaje.

Respecto de que "los objetos no se mueven" como proposición lógica es falsa, ya que los controles son objetos y se pueden mover. Pero además, esa afirmación es discutible desde otra perspectiva, ya que nuestro idioma es lo suficientemente ambiguo como para admitir diversas interpretaciones. Por ejemplo, se podría decir que es posible mover un objeto de un contenedor a otro aludiendo al hecho de enviar una referencia como parte de un mensaje a otro objeto que, como respuesta, la guarda en un atributo, o al aludir a que una referencia almacenada en un array "la movemos" a una variable o a que cambiamos su posición dentro del mismo array. También podría admitirse que un objeto se "mueve" de la memoria de la computadora a un dispositivo de almacenamiento cuando se lo "serializa".

Bien, ya es demasiado divagar y no quiero interferir con el propósito de la conversación.

Saludos.
 




===================
Cómo programar con Gambas

Speed Books: informática libre.
 
última edición por fabianfv el Domingo, 21 Noviembre 2010, 02:53; editado 1 vez 
fabianfv - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mover Control 
 
bueno..
perdon por la no especificacion de "objeto" "control"

pero añadiendo a esto...
Los códigos antes mencionados (incluyendo el mio)
no funcionan con un Picturebox ...
tal vez sea por que no esta enfocado como en el caso de un botón
alguien me puede decir como solucionar esto??

espero pueda ayudarme

P.D. No abri otro post por que esta nueva cuestion esta altamente relacionada con este post
 



 
última edición por arkyansoul el Domingo, 21 Noviembre 2010, 02:52; editado 1 vez 
arkyansoul - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Mover Formulario techm3 General 7 Martes, 04 May 2010, 12:24 Ver último mensaje
Invitado
No hay nuevos mensajes Mover Archivo/s A Pendrive? Agamenon General 6 Miercoles, 29 Febrero 2012, 00:19 Ver último mensaje
tururu
No hay nuevos mensajes Creación De Un Nuevo Control En Gambas3: ... jsbsan Videotutoriales 3 Viernes, 06 Febrero 2015, 12:44 Ver último mensaje
jsbsan
No hay nuevos mensajes Mover Un Picturebox Con El Ratón guadafan General 10 Sabado, 25 Julio 2015, 20:47 Ver último mensaje
vuott
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron