Delphi :单击子对象时失去父对象的焦点

cygmwpex  于 2023-01-02  发布在  其他
关注(0)|答案(1)|浏览(123)

我有一个效果触发器(阴影效果)的问题。我确实把触发器设置为ismouseover = true。所以,当我把鼠标放在面板(父)上时,阴影会激活,它工作正常,直到我开始在面板(子)内放置一些按钮。
当鼠标移到孩子的上方时,阴影效果消失。
那么,有没有办法在关注孩子的同时,继续关注父母呢?
我确实试过改变效果的触发器(从ismouseoverisfocused),但是没有给予任何不同的结果。

z9zf31ra

z9zf31ra1#

如前所述,您的设计是错误的,那么您可以删除触发器并手动操作:

// show or hide shadow effect
procedure TForm2.ShowShadowEffect(AValue: boolean);
begin
  if ShadowEffect1.Enabled <> AValue then
    ShadowEffect1.Enabled := AValue;
end;

// show when enter on panel
procedure TForm2.Panel1MouseEnter(Sender: TObject);
begin
  ShowShadowEffect(True);
end;

// hide when leave the panel
procedure TForm2.Panel1MouseLeave(Sender: TObject);
begin
  ShowShadowEffect(False);
end;

// keep visible when over button
procedure TForm2.Button1MouseEnter(Sender: TObject);
begin
  ShowShadowEffect(True);
end;

相关问题