• Sábado 5 de Diciembre de 2020, 02:56

Autor Tema:  Manipulacion de imagenes VS2008  (Leído 1043 veces)

Faabass

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Manipulacion de imagenes VS2008
« en: Viernes 16 de Abril de 2010, 19:36 »
0
Buenas, antes que nada gracias por dejarme inscribirme en este foro, donde deseo participar, para que entre todos podamos ayudarnos.

Me llamo Fabian, y tengo 22 años, dado que estoy empezando en esto de la programacion, a medida que quiero hacer algo nuevo, segun las ideas que me surgen, me suelo trabar. Ahora lo que me esta inquietando es que no se como hacer para poder usar imagenes en una aplicacion creada por mi, el caso preciso, es que quiero hacer un "mapa" de las mesas que hay en un bar con las mesas que hay dentro de este.

La idea es que el usuario pueda hacer que la pantalla que le muestra el software sea representativa de las ubicaciones que tienen las mesas en el bar, con lo que en el mmento de agregar una nueva de instancia de la mesa, el usuario decida en que lugar ubicarla, o si es necesario en otro momento las pueda cambiar de lugar o eliminarlas.

Desde la parte del codigo no tengo problemas para el manejo de objetos, instancias y las demas relacion y herramientas del VS2008, el problema es que no se ocmo hacer para uqe al momento de crear una nueva instancia de la mesa se cambie el puntero del mouse por la forma de la mesa y que por ejemplo cuando haga click la suelte en el sector de pantalla que el desee (winform), y que mas adelante haciendo click le aparezcan determinadas opciones y que una de ellas sea "mover" y que nuevamente genere el efecto de agarrar la mesa y soltarla donde el desee por el tema de que en el bar se pudieron a ver cambiado de lugar fisico las mesas.

Desde ya muchas gracias, y espero que me puedan ayudar para sentirme parte del foro.

 

Saludos, Fabian

Jeysscarr

  • Miembro MUY activo
  • ***
  • Mensajes: 134
  • Nacionalidad: co
    • Ver Perfil
Re: Manipulacion de imagenes VS2008
« Respuesta #1 en: Viernes 16 de Abril de 2010, 20:06 »
0
Hola, podrias usar un control listview con modo de visualización de Inonos grandes... metes las imagenes en un imagelist con un tamaño que se yo... de 120px X 120px... y en sus propiedades determinas que no use ningun tipo de alineación...
 asi podrás mover los iconos a tu gusto... ahora para guardar las posiciones.. pues guardas en un archivo o base de datos la propiedad location de cada icono....
Espero me entiendas... los mejores resultados a veces son los menos complejos...
De todas formas puedes indagar acerca de como dibujar con el namespace Drawing y como mover elementos como pictureboxes en modo de ejecución con los eventos mouse_move, drag y drop...
Nuestro poder está creciendo mas rápido que nuestra sabiduria

Faabass

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Manipulacion de imagenes VS2008
« Respuesta #2 en: Domingo 18 de Abril de 2010, 22:23 »
0
GRacias por la respuesta, estoy intentando hacerlo por el listview con imagelist.
Pude agregar las imagenes al imagelist  y verlas desde el listview, pero por mas que cambie las propiedades del listview no puedo cambiar las ubicaciones de los "iconos" como se hace en windows digamos, que por lo que entendi con estas herramientas se podia hacer asi. El aligment esta en default, por lo q lei es todo lo que hacia falta cambiar...

que me esta faltando hacer???

Jeysscarr

  • Miembro MUY activo
  • ***
  • Mensajes: 134
  • Nacionalidad: co
    • Ver Perfil
Re: Manipulacion de imagenes VS2008
« Respuesta #3 en: Lunes 19 de Abril de 2010, 22:50 »
0
Debes poner la propiedad del listview.Autoarrange en False para que no ordene los elementos.... ahora debes jugar con los eventos mousemove.. mousedown...
para determinar si debes mover el elemento seleccionado... eso si.. debes poner la propiedade multiselect en false para que sea solo un item que puedas seleccionar....

cuando presionas el mouse con mousedown... obtienes el elemento seleccionado
cuando lo mueves.. mousemove... le pasas las cordenadas X e Y del puntero al item....

Algo como esto: Listview1.selectItems[0].position=New Point(15,20);

Siendo 15 la posicion del puntero en X
y 20 la posicion del puntero en Y....

Asi lo mueves...

Código: C#
  1. bool MousePresionado = false;
  2.  
  3.  
  4.         private void listView1_MouseDown(object sender, MouseEventArgs e)
  5.         {
  6.             MousePresionado = true;
  7.         }
  8.  
  9.         private void listView1_MouseMove(object sender, MouseEventArgs e)
  10.         {
  11.             if (MousePresionado)
  12.             {
  13.                     listView1.Items[0].Position = e.Location;
  14.             }
  15.            
  16.         }
  17.  
  18.         private void listView1_MouseUp(object sender, MouseEventArgs e)
  19.         {
  20.             MousePresionado = false;
  21.         }
  22.  
Nuestro poder está creciendo mas rápido que nuestra sabiduria

Faabass

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Manipulacion de imagenes VS2008
« Respuesta #4 en: Lunes 19 de Abril de 2010, 23:29 »
0
Gracias por la respuesta... hasta unos dias no vuelvo a mi casa asique no voy a poder probarlo, pero apenas lo pruebe te digo que tal me fue
gracias!