我在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
- 在商店上禁用按钮,在恢复时启用
- 各种重刷/布局失效
暂无答案!
目前还没有任何答案,快来回答吧!