Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

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: 27
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: 27
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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 07:09:33.


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