| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
zankiu Lt Cmdr

Registrado: 23 Ene 2008Mensajes: 106
|
Publicado: Mie 25 Feb, 2009 8:23 pm Asunto: Efecto "flag" en un TChart |
|
|
Hola.
Me gustaría que cuando pasesa el puntero del ratón por encima de la superficie del TChart haga un efecto como la propiedad Flag de los botones. Para ello puedo jugar con la propiedad BorderStyle en sus dos posiciones (bsSingle y bsNone). y con este trozo de código:
| Código: | void __fastcall TMainForm::ChartMouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
if (FlagFin == 1)
{
this->Chart->BorderStyle = bsSingle;
}
} |
cuando posiciono el ratón por cualquier superficie del TChart, el TChart hace el efecto de hundirse eso está bien.
Lo que no consigo es que cuando deje de posicionar el puntero del ratón en la superficie del TChart, el TChart vuelva como estaba antes eso se consigue con BorderStyle = bsNone pero no sé cómo hacer que se detecte que el puntero del ratón no esté en la superficie del TChart.
¿Alguna idea?
Gracias. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Jue 26 Feb, 2009 1:30 am Asunto: |
|
|
Si no necesitas algo muy complejo podrías usar lo siguiente en el evento OnMouseMove del TChart:
| Código: | TChart* control = static_cast<TChart*>(Sender);
TRect rect(control->ClientRect);
if (PtInRect(rect, Point(X, Y))) {
if (GetCapture() != control->Handle) {
SetCapture(control->Handle);
// Aquí hacemos lo necesario cuando el cursor ENTRA en el control
control->BevelOuter = bvLowered;
control->BevelWidth = 2;
control->Color = TColor(0xE1F0F0);
}
} else {
ReleaseCapture();
// Aquí hacemos lo necesario cuando el cursor SALE del control
control->BevelOuter = bvRaised;
control->BevelWidth = 1;
control->Color = clBtnFace;
} |
|
|
| Volver arriba |
|
 |
zankiu Lt Cmdr

Registrado: 23 Ene 2008Mensajes: 106
|
Publicado: Vie 27 Feb, 2009 8:37 pm Asunto: |
|
|
| Gracias _Leo! Esto es perfecto, perfectísimo!! |
|
| Volver arriba |
|
 |
|