Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-09-2005
Avatar de FunBit
FunBit FunBit is offline
Miembro
 
Registrado: jun 2005
Ubicación: Santa Maria d'Oló
Posts: 572
Poder: 19
FunBit Va por buen camino
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!
__________________
Brot Psicòtik
Responder Con Cita
  #2  
Antiguo 02-09-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
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).
Responder Con Cita
  #3  
Antiguo 02-09-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 02-09-2005
Avatar de FunBit
FunBit FunBit is offline
Miembro
 
Registrado: jun 2005
Ubicación: Santa Maria d'Oló
Posts: 572
Poder: 19
FunBit Va por buen camino
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!!
__________________
Brot Psicòtik
Responder Con Cita
  #5  
Antiguo 02-09-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Empezado por FunBit
...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...
Eso es lo que no me quedó claro de tu enunciado, porque en algún momento te refieres a:
Cita:
Empezado por FunBit
...que se ejecute cada vez que el formulario esté listo para usarse...


Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 04:21: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
Copyright 1996-2007 Club Delphi