Hola a todos,
Cuando un control esta inactivo (disabled), por las pruebas que he hecho, no recibe mensajes WM_movemouse (o como se llame). Me parece que esto es filosofia Windows y comportamiento Windows... pero no se podria cambiar este comportamiento? Lo digo porque creo que resulta muy interesante que cuando un control esta disabled, por ejemplo un button, pudiera mostrar un tooltip... porque una cosa es que este disabled y otra que muestre lo que haria si estuviera encendido (tooltip)... incluso se podria adaptar el tooltip para que indicase el motivo de por que esta apagado.
Saludos
Disabled+ mouseover
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
-
- Posts: 72
- Joined: Tue Sep 11, 2007 3:51 pm
Antonio,
Cuando el usuario ve que un boton esta apagado enseguida comprende que esa opcion existe pero no esta disponible... y no tiene que pinchar para saber que en determinado punto esta inactiva.
Por ejemplo, en un browse de un plan de cuentas, cuando una cuenta tiene movimiento contable, el boton de borrar cuenta aparece apagado, si la cuenta no tiene movimiento aparece encendido... es una forma, a mi modo de ver muy clara de saber por un lado que la cuenta tiene movimiento y por otro que la puede borrar o no.
Saludos
Una de las cosas que me gustan de los entornos GUI es que se hacen mas intuitivos para el usuario.Antonio Linares wrote:Antonio,
Sería interesante como dices, pero no es algo simple de implementar, ya que Windows está hecho así.
Es preferible que lo dejes activo y que le quites su acción.
oBtn:bAction = { || nil }
y que más tarde se la vuelvas a asignar
Cuando el usuario ve que un boton esta apagado enseguida comprende que esa opcion existe pero no esta disponible... y no tiene que pinchar para saber que en determinado punto esta inactiva.
Por ejemplo, en un browse de un plan de cuentas, cuando una cuenta tiene movimiento contable, el boton de borrar cuenta aparece apagado, si la cuenta no tiene movimiento aparece encendido... es una forma, a mi modo de ver muy clara de saber por un lado que la cuenta tiene movimiento y por otro que la puede borrar o no.
Saludos
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
-
- Posts: 72
- Joined: Tue Sep 11, 2007 3:51 pm
Se me ocurre pensar que cuando un control este disabled, habria que controlar las posiciones del raton a ver si estan sobre un control disabled y si es asi mostra el tooltip de ese control.... Quiza esto habria que organizarlo en la ventana contenedora window/dialog... no se si mexplico.... o quiza lo que digo no tenga sentido...Antonio Linares wrote:Si, pero el problema es el que comentas, que al estar "disabled" no recibe eventos y entonces no se le puede poner un tooltip
Saludos
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
-
- Posts: 72
- Joined: Tue Sep 11, 2007 3:51 pm
Antonio, gracias por tu atencion.Antonio Linares wrote:Antonio,
Si tiene sentido lo que comentas, lo que ocurre es que no es algo simple de implementar.
Y además puede enlentecer el movimiento del ratón, pues constantemente habría que estar comprobando encima de que control está y en que estado está ese control
Probablemente solo tendria sentido implementarlo si:
1. Hubiera una mayor demanda de gente que lo pidiera... y parece que no es el caso; parece que la gente no lo necesita...
2. Implementarlo de manera muy "fina" para evitar ralentizaciones.
Saludos
-
- Posts: 72
- Joined: Tue Sep 11, 2007 3:51 pm
He conseguido ponerle ToolTip a los controles disabledAntonio Linares wrote:Antonio,
Si tiene sentido lo que comentas, lo que ocurre es que no es algo simple de implementar.
Y además puede enlentecer el movimiento del ratón, pues constantemente habría que estar comprobando encima de que control está y en que estado está ese control
He necesitado: ChildWindowFromPoint(), oWndFromHwnd(), oControl:lActive... ha sido mas bien facil...
Como no me iba con los tooltip de Window.prg he utilizado Ajtip... y la cosa va de muerte.
Saludos