如何重置或移除按钮上的鼠标悬停突出显示

j5fpnvbx  于 2022-09-21  发布在  其他
关注(0)|答案(0)|浏览(108)

我在TFrame上有一个TBitBtn,它有一个Click事件,它会导致按钮自己的框架从其容器中脱离父级(有效地移除它),并存储起来以供以后恢复:

implementation
var
  StoredFrames: TStack<TFrame>;

procedure TCustomFrame.BitBtnClick(Sender: TObject);
begin
  // Some business logic
  Self.ActiveControl := nil;
  Self.Parent := nil;
  StoredFrames.Push(Self);
end;

稍后,该帧被重新设置为其容器的父对象,从而重新显示。但是,按钮在被存储之前从鼠标中获得的蓝色高亮显示仍保留在按钮上:

恢复后,其他控件可以同时获得相同的高亮显示,但按钮不会失去其高亮显示,直到框架被销毁。如何手动重置或取消此按钮突出显示?

我试过的东西:

  • 点击处理程序中的Application.ProcessMessages
  • 在商店上禁用按钮,在恢复时启用
  • 各种重刷/布局失效

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题