Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-11-2005
Avatar de ariefez
ariefez ariefez is offline
Miembro
 
Registrado: sep 2005
Ubicación: Perú - Lima
Posts: 63
Poder: 19
ariefez Va por buen camino
Mensaje - Evento... antes de perder el foco, es posible???

bueno quisiera saber si se puede saber cuando un control esta por perder el foco, e visto q delphi dephine el CM_LOSTFOCUS se puede implementar de alguna forma para que mi aplicacion pueda recibir este mensaje.

si se preguntan porque es que busco esto, es porque quiero mostrar un mensaje al salir de un control, ya se que se puede hacer en el evento OnExit pero este evento ocurre cuando el control ya perdio el foco y otro control ya a recibido el foco.

bueno les agradesco por adelantado cualquier sugerencia.
Responder Con Cita
  #2  
Antiguo 01-11-2005
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Disculpa, se que no soy un gran experto... y tal vez no haya entendido muy bien lo que pretendes:

Por el título de tu hilo dices que deber realizar ALGO justo antes de que se pierda el foco... pero... por otro lado dices:

Cita:
Empezado por ariefez
si se preguntan porque es que busco esto, es porque quiero mostrar un mensaje al salir de un control
De cualquier manera, tengo entendido que no se puede saber cuando se está por abandonar el foco, pero SI cuando lo ha abandonado y cuando lo recibe.. tal cual lo dices.
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 01-11-2005
Avatar de ariefez
ariefez ariefez is offline
Miembro
 
Registrado: sep 2005
Ubicación: Perú - Lima
Posts: 63
Poder: 19
ariefez Va por buen camino
Esto si que es rapidez , agradesco sus prontas respuestas

Cita:
Empezado por Delphius
Por el título de tu hilo dices que deber realizar ALGO justo antes de que se pierda el foco... pero... por otro lado
Al parecer no me explique bien, pero si un control esta por perder el foco es porque se esta por salir de el, si me dejo entender;

Cita:
Empezado por Al González
Si. Una forma de hacerlo es crear una clase derivada del componente en cuestión. Creando en ella un metodo mensaje declarado con la constante CM_LOSTFOCUS
Pues eso es exactamente lo que busco, pero hay alguna forma de hacer para que el formulario reciba los mensajes o como podria declarar el mensaje ya que e puesto lo siguiente y sin resultado:

Código Delphi [-]
 
  TForm1 = class(TForm)
    ...
    private
      procedure CMLostFocus(var Message: TCMLostFocus); message CM_LOSTFOCUS;
    ...


implementation
 
procedure CMLostFocus(var Message: TCMLostFocus); message 
begin
  ...
  {Nunca entra a esta parte}
end;

Recien estoy entrando en esto de los mensajes y necesito una base de donde poder guiarme, como haria para que mi
Responder Con Cita
  #4  
Antiguo 01-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Sin entrar en detalles, en la implementación te sobra la palabra message, en lo demás la implementación está bien. Otra cosa será el concepto .

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 01-11-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Si CM_LOSTFOCUS es un mensaje que ha de recibir el control entonces deberá hacerse tal como dice Al. No puede esperarse que simplemente poniendo la declaración en el formulario entonces el mensaje del control le llegará al formulario.

Por otro lado me da la impresión de que CM_LOSTFOCUS no se genera nunca. Al menos, buscando en las fuentes de la VCL, sólo encuentro la línea donde se declara la constante pero nada más.

Haciendo algunas pruebas veo que WM_KILLFOCUS sí se genera antes de perderse el foco.

// Saludos
Responder Con Cita
  #6  
Antiguo 01-11-2005
Avatar de ariefez
ariefez ariefez is offline
Miembro
 
Registrado: sep 2005
Ubicación: Perú - Lima
Posts: 63
Poder: 19
ariefez Va por buen camino
lo de message fue un error al escribir el mensaje.

Por otra lado e implementado el mensaje WM_KILLFOCUS pero no se genera.

Cita:
Empezado por Roman
Haciendo algunas pruebas veo que WM_KILLFOCUS sí se genera antes de perderse el foco.
me podrias decir como hiciste esas pruebas.
Responder Con Cita
  #7  
Antiguo 01-11-2005
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

Cita:
Empezado por ariefez
...e visto q delphi dephine el CM_LOSTFOCUS se puede implementar de alguna forma para que mi aplicacion pueda recibir este mensaje...
Si. Una forma de hacerlo es crear una clase derivada del componente en cuestión. Creando en ella un metodo mensaje declarado con la constante CM_LOSTFOCUS, para desempeñar en él la acción que deseas.

Espero esto sea de utilidad, seguimos en contacto.

Al González.

El día en que uno se convierte en héroe de cómic sabe que realmente se hizo famoso. Nelson Mandela.
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 07:22:35.


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