Angel Fernández
29-01-2007, 20:04:02
Saludos al foro.
Estoy intentando hacer varios paneles que al pasar por encima el ratón, cambie el color de fondo y cuando ya ha pasado vuelva el color blanco original. Esto sé cómo hacerlo:
procedure TForm1.colorentrada(sender: TObject);
begin
if (sender is TPanel) then
TPanel(sender).color := $0067E0FF;
end;
procedure TForm1.colorsalida(sender: TObject);
begin
if (sender is TPanel) then
TPanel(sender).color := clwhite;
end;
procedure TForm1.Panel7MouseLeave(Sender: TObject);
begin
colorsalida(sender);
end;
procedure TForm1.Panel7MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
colorentrada(sender);
end;
Ahora bien, cada panel tiene dentro varios tlabel (con la propiedad transparent=true) y quiero que al pasar el raton por encima también cambie el color de fondo del panel que contiene a dicho label. Y aquí viene mi pregunta: ¿cómo puedo saber, de forma global, qué panel contiene a dicho tlabel?
Obviamente, puedo ir editando label a label los eventos onmousemove y onmouseleave, pero con muchos paneles esto sería aburridísimo.
Espero haberme expresado bien.
Un saludo.
PD: No me aclaro con lo de resaltar sintaxis para delphi. Si previsualizo el mensaje y luego lo edito, el texto de delphi se vuelve loco ¿cómo se hace?
Estoy intentando hacer varios paneles que al pasar por encima el ratón, cambie el color de fondo y cuando ya ha pasado vuelva el color blanco original. Esto sé cómo hacerlo:
procedure TForm1.colorentrada(sender: TObject);
begin
if (sender is TPanel) then
TPanel(sender).color := $0067E0FF;
end;
procedure TForm1.colorsalida(sender: TObject);
begin
if (sender is TPanel) then
TPanel(sender).color := clwhite;
end;
procedure TForm1.Panel7MouseLeave(Sender: TObject);
begin
colorsalida(sender);
end;
procedure TForm1.Panel7MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
colorentrada(sender);
end;
Ahora bien, cada panel tiene dentro varios tlabel (con la propiedad transparent=true) y quiero que al pasar el raton por encima también cambie el color de fondo del panel que contiene a dicho label. Y aquí viene mi pregunta: ¿cómo puedo saber, de forma global, qué panel contiene a dicho tlabel?
Obviamente, puedo ir editando label a label los eventos onmousemove y onmouseleave, pero con muchos paneles esto sería aburridísimo.
Espero haberme expresado bien.
Un saludo.
PD: No me aclaro con lo de resaltar sintaxis para delphi. Si previsualizo el mensaje y luego lo edito, el texto de delphi se vuelve loco ¿cómo se hace?