FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Diferencias entre OnActivate y OnPaint
En un Formulario tengo las propiedades OnActivate y OnPaint. Cual de las 2 es mas adecuada para poner un codigo dentro y que se ejecute cada vez que el formulario esté listo para usarse?
El motivo es que necesito ejecutar un codigo cada vez que se utiliza o visualiza ese formulario, aunque vengas de otra aplicación, que vengas de otro formulario de la misma aplicacion, ... Cual de las 2 es mas apropiada? Espero haberme explicado bien. Saludos! |
#2
|
||||
|
||||
Saludos!
Yo te aconsejaría "OnActivate", que se produce cada vez que el formulario recibe el foco, y no "OnPaint" que se ejecutaría cada vez que el formulario necesita ser "repintado" (cosa que puede ocurrir muy a menudo, debido a acciones del usuario, y te ralentizaría mucho la ejecución de la aplicación). |
#3
|
||||
|
||||
No se si te comprendí bien, pero:
Si lo pones en OnPaint, tu código se ejecutará cada vez que se redibuje total o parcialmente el formulario. Si la pones en OnActivate y tu aplicación tiene mas de un formulario, el código se disparará cada vez que el formulario reciba el foco. Si no vas a realizar operaciones visuales, puedes poner tu código en el OnCreate, de no ser posible, una práctica habitual es sobreescribir el método Loaded. Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#4
|
||||
|
||||
Ok con eso me vale.
delphi.com.ar, no lo puedo poner en el OnCreate porqué si tengo dos formularios abiertos y voy pasando de uno a otro aquí ya no me ejecuta el codigo porque no se vuelve a crear el formulario. El resto de respuestas son correctas. Gracias!! |
#5
|
||||
|
||||
Cita:
Cita:
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
|
|
|