PDA

Ver la Versión Completa : Crear accesos directos a un menú


cmfab
24-01-2011, 21:02:34
Hola amigos, disculpen un poco si fue molesto titular este post de la manera que lo hice. Ante todo reconozco que en terminos de programacion y sobre todo con lo fuerte que es Delphi como herramienta de desarrollo se puede lograr casi cualquier cosa en un diseño. El tema que me ocupa es que ya hay algun tiempo tras desarrollar una aplicacion que está compuesta como muchas comunes por ejmplo por una barra de menú con diferentes opciones que utiliza el cliente para su trabajo, se me ocurre preguntar a ver si alguien puede dar una idea de como llenar el fondo de la aplicacion con controles, pueden ser botones o algo así tipo accesos directos como los que tiene windows que vayan aputando a las secciones (menus) del sistema que mas se hayan ejecutado recientemente y que se puedan cargar desde allí. espero haberme explicado correctamente. gracias nuevamente por sus atenciones

Casimiro Notevi
24-01-2011, 21:14:37
Muy mal por lo del título, amigo :confused:

cmfab
24-01-2011, 21:39:00
hola, casimiro, en realidad lo del titulo es porque nunca he visto una aplicacion que haga lo que allí refiero. de todas maneras me disculpo por ello. lo importante para mi es ver si se puede debatir el post. gracias

Casimiro Notevi
24-01-2011, 21:44:26
Si te digo la verdad, no he entendido bien qué es lo que quieres hacer, me parece que quieres algo así como poder añadir botones en tiempo de ejecución para hacer tareas, o algo así?

cmfab
24-01-2011, 21:55:23
Gracias nuevamente, exacto es algo parecido. por ejemplo tengo un menu Tablas, que contiene varios items suponemos que uno de ellos es Productos, una vez iniciada la sesionde trabajo con la aplicacion y seleccionada esta variante del menu tabla, se crea tipo un acceso directo en el form principal del sistema para poder acceder desde allí en lugar de referirse de nuevo al menú. se tomaria un valor maximo de accesos directos, por ejemplo los ultimos 10 elementos accesados, o los 10 mas accesados en total. espero haberme explicado correctamente

Casimiro Notevi
24-01-2011, 22:06:19
Bueno, hay muchas alternativas para hacer eso, ¿cómo te gustaría que fuese?, ¿tienes alguna preferencia de cómo debería ser?, ¿menú, listbox, botones, etc.?

cmfab
24-01-2011, 22:38:30
me gustaría que se asemejara al escritorio de windos. me refiero a los accesos directos. es posible que se tenga que programar en algun listbox. o algo así y que se ejecuten los eventos del click de las opciones del menú
al hacer un solo click sobre estos elementos. Gracias nuevamente. En cualquier caso para que sepan. voy saliendo del trabajo +- en 30 minutos hasta mañana en la mañana por si no respondo en tiempo. Saludos

roman
24-01-2011, 22:52:29
me gustaría que se asemejara al escritorio de windos.

Pues entonces nada más fácil que usar un ListView, que es lo que, a fin de cuentas, es el escritorio de Windows.

// Saludos

Neftali [Germán.Estévez]
25-01-2011, 11:23:25
Muy mal por lo del título

Coincido con Casimiro; Con más de 80 mensajes esto debería estar superado... :(

...como llenar el fondo de la aplicacion con controles, pueden ser botones o algo así tipo accesos directos como los que tiene windows que vayan aputando a las secciones (menus) del sistema que mas se hayan ejecutado recientemente y que se puedan cargar desde allí. espero haberme explicado correctamente.

Entiendo que aquí lo compejo no es la forma de acceder a los accesos directos (que se pueden crear de diferentes maneras) sino cómo ejecutar diferentes acciones de menú.

Puedes acceder a las diferentes opciones de varias formas. La más rudimentaria es utilizando el Caption o el TAG de cada elemento de menú.

También puedes crear una lista (por ejemplo un TStringList) donde guardes parejas de String-Objeto (Caption del menú + Menuitem); Puedes acceder por el sting y ejecutar la acción asoociada al meniitem.

Neftali [Germán.Estévez]
25-01-2011, 11:55:36
Si revisas este ejemplo (http://neftali.clubdelphi.com/?p=156), tiene que ver con lo que comento.
Ahí conviertes cada elemento del menú en un ítem de un TreeView. Es fácil añadir el código necesario para que la acción que realiza el elemento del menú la realice también el item.

Neftali [Germán.Estévez]
25-01-2011, 12:35:13
Por cierto, me parece un tema interesante, así que le he puesto un título más adecuado al mensaje.

cmfab
25-01-2011, 13:48:51
Gracias muchas a todos por sus respuestas. a partir de sus sugerencias comenzaré con el diseño. creo que es apropiado utilizar un listview como dice roman, al igual que el algoritmo de neftalí para poder acceder a las acciones del menú. me parece que queda bastante claro con sus propuestas. comenzaré lo mas pronto posible con ello. un saludo a todos por su dedicación

Neftali [Germán.Estévez]
25-01-2011, 14:04:05
Me parece un tema interesante y tal vez útil para mi (no exactamente, pero si algo similar) tal vez en un futuro cercano, así que me he puesto a realizar algunas pruebas.
Si quieres échale un vistazo al código desarrollado aquí (http://neftali.clubdelphi.com/?p=1228).

Un saludo.

pacopenin
25-01-2011, 14:22:01
Un tema interesante con grandes posibilidades de desarrollo. Puede ser una buena idea para facilitar la usabilidad. Me gusta. Voy a echarle un ojo.

Gracias por el ejemplo y un saludo,

Chris
25-01-2011, 16:40:22
Lo que quiere hacer el compañero se llama Dashboard (http://www.google.com/images?q=dashboard&um=1&ie=UTF-8&source=og&sa=N&hl=es&tab=wi&biw=1440&bih=799). Con un TListview creo que se pudiera hacer algo básico. Puedes irle agregando controles adicionales dependiendo de tus necesidades. Lo importante es que lo mantengas claro y evita la saturación. Se trata de un panel donde el usuario se puede ubicar muy rápidamente.

Otra idea que se me ocurre, es hacerlo como el de Delphi. Una página web (HTML y Javascript) que el IDE la crea y carga dinamicamente. Tendrás más fluidez en la presentación y será más fácil de mantener.

Saludos,
Chris.

cmfab
27-01-2011, 14:06:13
Volviendo al tema de este hilo os comento que al final el cliente decidió que los controles por ahora fueran estáticos. osea agregar las variantes del menu que de ante mano se conocen como mas usadas. es por ello que me decidí por usar un listview con estas variantes. ahora bien el tema que me ocupa es que la aplicacion es MDI y de esta manera siempre prevalece el listview sobre las ventanas MDIChild cuando el usuario hace click sobre cualquier variante del menú. alguna idea para ocultar este listview que está de fiondo de la aplicación cuando el usuario ejecuta items del menú. Gracias de antemano

Chaja
29-10-2012, 17:07:20
Hola... No se si tarde pero ira esto que publique...
http://www.clubdelphi.com/foros/showthread.php?t=79398&highlight=accesos+directos