![]() |
Problema con el componente, se activa al cambiar (DataSource.State)
Buenos días compañeros, tengo un problema con este componente, que es el siguiente, cuando cambia el State de este TDBToggleSwitch, me activa directamente el Datasource.State DsEdit y no se como remediarlo, como siempre espero a vuestras indicaciones y os doy mil gracias como siempre.
|
YA lo he resuelto, encontré el mismo componente en una página italiana, pero en otro lenguaje de programación, por lo que lo adapte, os pongo el código
Ahora mi pregunta es si es posible que el texto StateCaptions.CamptionOn/Caption Off, en vez de estar externo al interruptor, podría estar interno, en VCL, ya que en Firemonkey si es posible. Un saludo y gracias |
Por cierto por si a alguien le interesa pongo el enlace del componente que encontré para modificar el mío
https://github.com/amarildolacerda/M...ggleSwitch.pas |
Creo que el problema está en el procedimiento Click.
Estás utilizando un código como este:
Y creo que tú mismo estás poniendo el Dataset en edición cuando ejecutas ese código en rojo. Tal vez lo que querías hacer es:
Porque no le veo sentido a lo que tienes ahora. |
Cita:
TDBToggleSwitch deriva de TToggleSwitch, que a su vez lo hace de TCustomToggleSwitch. TCustomToggleSwitch a la hora de pintar llama al método paint que está protected y redefinido (por lo tanto puedes sobreescribirlo):
Dentro de ese método, tienes una llamada a DrawText, que en realidad son 2 similares dependiendo de estilos: Si redefines ese método podrás llamar a DrawText con el parámetro lpRect (posición) diferente. https://learn.microsoft.com/en-us/wi...nuser-drawtext |
Gracias Neftali, tomo nota
|
La franja horaria es GMT +2. Ahora son las 23:30:06. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi