none
Desplazar controles con el raton Windows Forms RRS feed

  • Pregunta

  • Hola a todos,

    Tengo una aplicacion hecha en Visual C++ 2008 con muchos button's y textBox's. Le quiero añadir la funcionalidad de que puedan ser seleccionados y arrastrados con el raton a otra posicion dentro del Form, en tiempo de ejecución.

    ¿Es esto posible??

    Muchas Gracias y un saludo a todos

    lunes, 11 de enero de 2010 11:20

Todas las respuestas

  • Sí que se puede.

    Aquí tienes un ejemplo de C#: http://www.codeproject.com/KB/dialog/MoveYourControls.aspx

    Básicamente lo que tienes que hacer es capturar MouseDown y MouseMove para cada control e irlo moviendo con las coordenadas según se vaya moviendo el ratón.

    Aquí tienes más información (en C#, en C++/CLI no hay nada):
    http://support.microsoft.com/?id=307966
    http://msdn.microsoft.com/en-us/library/za0zx9y0.aspx

    Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/
    lunes, 11 de enero de 2010 11:40
    Moderador
  • Como siempre, Muchas Gracias RFOG,

    Pero me dices que en C++/CLI no hay nada: significa esto que no se puede implementar? o que debo adaptar el codigo?

    Un saludo, y Feliz Año!

    lunes, 11 de enero de 2010 13:00
  • Me refiero a que no hay nada escrito (o yo al menos no lo he encontrado), por lo que tendrás que adaptar el código.

    Y de hecho, en general, todo lo que se pueda hacer en C# se podrá hacer en C++/CLI con mejor rendimiento, y lo que no, se puede simular, aunque en algunos casos acceder a cosas como WPF y WCF haya que hacer florituras (y en ese caso sí que hay penalizaciones de rendimiento).


    Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/
    lunes, 11 de enero de 2010 14:53
    Moderador
  • Básicamente lo que tienes que hacer es capturar MouseDown y MouseMove para cada control e irlo moviendo con las coordenadas según se vaya moviendo el ratón.

    Entiendo lo que me dices, pero el problema es que cuando intento crearme el evento MouseDown y MouseMove sobre un boton, por ejemplo, el compilador me dice que boton1_MouseDown no es miembro de mi formulario!!

    Igual me ocurre con MouseMove. :(

    Tengo que incluir algo al principio??

    Saludos, y gracias!!!
    lunes, 11 de enero de 2010 16:43
  • Por ejemplo, tengo el boton1, entonces en la parte InitializeComponent(), defino el evento MouseMove, de tal forma:

    this

     

    ->boton1->MouseMove += gcnew System....

    ¿Que deberia poner ahi??

    Agradeceria un poco de ayuda, porque me estoy volviendo loco.

    Gracias

    martes, 12 de enero de 2010 11:49
  • Chacho, hazlo desde el editor visual de Windows Forms. Vete al los eventos y haz doble click sobre los mismos. El IDE te lo creará todo.
    Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/
    martes, 12 de enero de 2010 11:52
    Moderador
  • Estoy en el editor visual de Windows Form.

    Todos los eventos que he utilizado anteriormente me los creaba haciendo doble click sobre el control en cuestion.

    ¿Donde estan todos los eventos en el editor visual?

    Gracias por tu paciencia.
    martes, 12 de enero de 2010 12:00
  • Ya lo tengo, ya lo tengo!!

    Muchisimas graciasss...no se que haria sin tiii!!!!!

    Y perdona las molestias!
    martes, 12 de enero de 2010 12:06
  • Para todos los que esten interesados, la respuesta a este post viene perfectamente explicado aqui:

    http://www.recursosdelweb.com/como-mover-un-boton-drag-and-drop-en-visual-basic-net-vbnet/

    Está hecho para visual basic, pero adaptarlo a visual c++ es muy sencillo.

    miércoles, 13 de enero de 2010 15:19