Ayuda con TPanel
hola, tendo que cambiar el color a un tpanel a traves de la asignacion de un evento, es decir ,, tengo una lista de tpanel creandoce y dentro tengo un tchekbox, luego asigno una funcion al evento onclick del chekbox , pero no se como al seleccionar el check box me cambie el color del panel, trate de usar parent.name para obtener el nombre del panel pero hasta ahy me quedo,
aca les paso el codigo.. en public --------------------------------------
en implementation -------------------------------------
|
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración :)
Recuerda poner los tags al código fuente, ejemplo: Gracias :) Por cierto, has puesto tu pregunta en el foro "Internet" y no tiene nada que ver. De nuevo, Bienvenido :) . |
Hola FideRosado, bienvenido a Club Delphi :)
Como a todos los que se inician te invitamos a que leas nuestra guía de estilo. También te recomiendo que cuando incluyas código en tus mensajes utilices TAG's, una imágen del uso: Con respecto a tu consulta, entiendo que deseas que los paneles cambien de color de acuerdo a si el TCheckBox que contiene esté o no marcado. No uso el control TRzPanel, pero te pongo un ejemplo basado en tu código usando el control TPanel:
Saludos. :) Edito: (Disculpas Casimiro, no había visto tu mensaje mientras escribía) |
Cita:
|
respuesta
la verdad es que estoy tan concentrado en el problema que ni lo note ,.. ahora mismo pruebo el codigo, para ver si me funciona, la verdad este es un foro de lo mejor..
yo uso trz componentes desde hace rato y la verdad es que es bueno, tiene muchas facilidades,..con los estilos y otros.. echenles un vistazo.. |
Para mantener el color de fondo en cada panel...
aca les envio una actualizacion del codigo
uso la misma propiedad color para tomar y debolver el estado del chekbox...
aqui agrego unas lineas, que parecen bobas pero nos permiten guardar independientemente el color de fondo.. y que se mantenga alternados..los colores .. pero me di cuenta que cuando selecciono mas de dos y los desmarco no se me ponen los colores como son ,, que se le puede sumar a este tema para solucionarlo.. bueno me puse a trabajar en eso y lo consegui.. primero use un TRzCheckBox en vez de TCheckBox , porque?? este cambio , pues , trz me permite asignar un color mientras lo pongo transparente, ahi esta el truco, mantener el color de fondo, guardandolo en el mismo objeto que lo ejecuta...
|
saber si estan selecionado los checkbox entre los panels
ahora estoy pensando en incorporar una funcion o procedimiento en un boton que me permita saber si entre los paneles , que he creado tengo un checkbox activo, pero no encuentro la forma de hacerlo,.. necesito ayuda con eso ...
estoy tratando pero no se me ocurre nada.. |
Hola FideRosado.
Un ejemplo de uso:
Saludos :) |
en caso de querer eliminarlo el panel
con ese mismo codigo , quiero q1ue el penel que es el padre del checkbox, que esta activado ,, o cuantos de ellos esten activados, se eliminen del ScrollBox1,he resuelto el padre segun el estado del checkbox, pero, la verdadd es que lo he intentado muchas veces con resultados negativos , alguna idea por parte de ustedes ..
|
Cita:
Saludos :) |
sobre eliminar
he probado el codigo , pero me da vateo ,
pondre aca algo parecido a lo que estoy tratando de hacer.. -scrolbox1 | |-panel1 | | | -checkbox1 |-panel2 | | | -checkbox2 |-pane3 | | | -checkbox3 |-panel4 | | | -checkbox4 aca tengo representado como estan hubicados los elementos, pero cuando elimino uno , me doy cuenta que estamos haciendo la operacion dentro de un ford, el cual nos da error en list.bound cuando el cuenta.. y solo elimina 1 pero he intentedo eliminar mas de uno a la vez y dada ,.. creo que restando al for el i puede que salga.. rectifiquenme aver que sale de esto.. |
en caso de querer eliminarlo el panel
he probado algo parecido pero no me sale la verdad , será que se me esta escapando algo..mi mente y mi cuerpo esta cansado jejje, dormire un rato pero les pondre este cod que estoy provando , tirando piedras , como se dice
acuerdence que yo aca envio una string con los nombres a los que voy a eliminar, separados por una barra vertival,, | , de esta forma se podra hacer diganme si hay variantes.. |
Hola.
Cita:
Cita:
El demo utiliza sólo código que se ha sido tratado en este hilo, esta probado y funciona correctamente: Crea los paneles, los pinta cuando el CheckBox es seleccionado y elimina ninguno, uno, varios o todos acorde estén seleccionados. Saludos :) |
en caso de querer eliminarlo el panel
si, me parece que puse el forn en creciente , entonces eso elimina la posibilidad del error...
|
cambios en el codigo
he echo unos cambios y aca los comparto con ustedes..
en este pedazo colorea denuevo los paneles creados dentro sel srolbox para que mantenda un estilo en la aplicacion..
aca crea un checkbox que me marque todos los de su tipo en el area que kieran ..
cuando pense en eliminar el panel dentro de el area, pence en hacerlo de muchas formas, pero me he despertado de buena gana y mente , aqui puedes mandar a buscar el panel por su nombre y luego eliminarlo, asi no hay que hacer un for...
|
Cita:
En realidad si haces un simple cambio en la creación de los TPanel y TCheckBox cambiando su owner (propietario), te sería mucho mas simple eliminar un panel por su nombre.
Saludos :) |
Hola.
Recordé que sólo se deben borrar aquellos paneles cuyos CheckBox estén chequeados... Dado que en la creación, a paneles y CheckBoxes les das nombres que sólo difieren de otros sólo por su terminación (PnlUser1, PnlUser2,...) (CheckMail1, CheckMail2, ...). Además contenedor y contenido se corresponden en ese último número y que cada panel tiene contiene un CheckBox, se puede efectuar la eliminación mediante un método enviando como argumento sólo el número:
Saludos :) |
La franja horaria es GMT +2. Ahora son las 18:30:59. |
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