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 22-04-2010
PabloZZZ PabloZZZ is offline
Miembro
 
Registrado: mar 2008
Posts: 20
Poder: 0
PabloZZZ Va por buen camino
TPZBtn

Amigos.

Estoy haciendo un boton,

TPZBtn = class( TWinControl )

El mismo tiene 4 TPictures, Up, Down, Focus y Disabled.

Cómo hago para asignar el bitmap del TPicture cuando el control toma el foco???

(asignar es FPicture.Picture.Assign( FPictureFocus ), pero no logro detectar cuando el boton toma el foco o deja de estar Enabled)

Saludos
Pablo Z
Responder Con Cita
  #2  
Antiguo 22-04-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por PabloZZZ Ver Mensaje
... pero no logro detectar cuando el boton toma el foco o deja de estar Enabled)
Lo más fácil es capturar en tu componente los mensajes de windows correspondientes al entrar y salir del componente.

Revisa esta página. Ahí se explica de forma detallada cómo capturar los mensajes y añadirlos a un componente. Si buscas en los foros, también encontrarás información similar. Ya hemos hablado otras veces del tema (1, 2).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 22-04-2010
PabloZZZ PabloZZZ is offline
Miembro
 
Registrado: mar 2008
Posts: 20
Poder: 0
PabloZZZ Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Lo más fácil es capturar en tu componente los mensajes de windows correspondientes al entrar y salir del componente.

Revisa esta página. Ahí se explica de forma detallada cómo capturar los mensajes y añadirlos a un componente. Si buscas en los foros, también encontrarás información similar. Ya hemos hablado otras veces del tema (1, 2).
Buenisimo!
Sobreescribí:

procedure WMSetFocus(var Message: TWMSetFocus); message WM_SETFOCUS;
procedure WMKillFocus(var Message: TWMSetFocus); message WM_KILLFOCUS;

para que muestren el TPicture correspondiente y funcionó.

Ahora estoy viendo cómo hacer que pueda tomar el foco al navegar con la tecla TAB

Z
Responder Con Cita
  #4  
Antiguo 22-04-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por PabloZZZ Ver Mensaje

Ahora estoy viendo cómo hacer que pueda tomar el foco al navegar con la tecla TAB
Esto no lo entedí. ¿Puedes explicarlo? Normalmente los componentes ya "pasan" el foco cuando pulsas el TAB.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 22-04-2010
PabloZZZ PabloZZZ is offline
Miembro
 
Registrado: mar 2008
Posts: 20
Poder: 0
PabloZZZ Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Esto no lo entedí. ¿Puedes explicarlo? Normalmente los componentes ya "pasan" el foco cuando pulsas el TAB.
Si... no se por qué tenian el tabstop en false...
Está quedando muy lindo...

Ahora me falta Capturar el click del mouse para cambiar el estado a down...

hice:
procedure WMLButtonDown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN;
procedure WMLButtonUp(var Message: TWMLButtonUp); message WM_LBUTTONUP;

y en el create le puse
ControlStyle := [csCaptureMouse, csClickEvents];

pero no entra en el evento
probé tambien hacerlo heredar de TButtonControl, pero no logro colgarme del mouse left button down

Z
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 15:55:02.


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