Bloquear reordenamiento de ciertos items en componente TButtonGroup
Buenos días amigos de ClubDelphi,
Hoy les traigo una inquietud, quizá alguien me pueda colaborar. Estoy utilizando el componente TButtonGroup y a este componente le agregó varios items (de tipo TGrpButtonItem) dinámicamente. Algunos de los items del componente los considero "especiales" y al ser considerados como tal quiero que cuando el usuario intente involucrarlos en el proceso de reordenamiento el programa lo impida y deje el orden de los items tal cual se encontraba inicialmente. En pocas palabras, cuando el usuario intente reordenar alguno de estos items especiales, el evento OnReorderButton no se ejecutará. Sólo será ejecutado para los items que no se consideran especiales. ¿Existe alguna manera de implementar este comportamiento con este componente? Gracias por su atención. |
Hola osmeg
Proba de la siguiente manera:
De esa manera no podrias reordenar el "primero" ni el "segundo" Una extension de lo anterior que se asemeja mas a lo que buscas (creo)
|
Hola AgustinOrtu. Gracias por tu aporte.
Con la implementación indicada se soluciona parcialmente el problema. Ahora faltaría buscar la forma de restringir el reordenamiento si un item "no especial" se superpone sobre uno "especial". Este caso no se tiene en cuenta con el evento OnMouseDown dado. ¿Será posible utilizar el evento OnReorderButton para evitar este comportamiento? Gracias por su atención y colaboración. |
Habria que ver, el OnReorderButton se dispara despues de alterar el orden
|
La unica forma que se me ocurrio es esta :)
Aunque desconozco que pasaria con muchos botones. Basicamente se esta pintando el control dos veces Sino lo suyo es heredar de TButtonGroup y reescribir DoReorderButton |
Hola AgustinOrtu,
Gracias por tu aporte. Revisaré la alternativa que me das y te comento. |
La franja horaria es GMT +2. Ahora son las 06:43:40. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi