如何解决窗体TForm和框架TFrame在拉伸、最大化、最小化、恢复、OnResize事件时,窗体及控件闪烁的有关问题
怎么解决窗体TForm和框架TFrame在拉伸、最大化、最小化、恢复、OnResize事件时,窗体及控件闪烁的问题?
OnResize事件里为1些布局代码等,如:
Pnl_Function.Width := Shape1.Width - 2;
---------------------------------------------
另:动态生成框架,在显示时也闪烁?如:
var
UserShopSearch: TFrameUserShopSearch; //框架 TFrameUserShopSearch = class(TFrame)
begin
if UserShopSearch = nil then begin
UserShopSearch := TFrameUserShopSearch.Create(pnlMain);//pnlMain为TPanel
UserShopSearch.Init();//初始化 =TForm.OnCreate事件
UserShopSearch.Init0();
UserShopSearch.Align := alclient;
UserShopSearch.Parent := pnlMain;
end;
if not UserShopSearch.Visible then UserShopSearch.Show;
end;
能不能解决闪烁问题?比如生成并初始化后,再显示出来?
------解决方案--------------------
更新大小前用LockWindowUpdate(Handle),更新后用LockWindowUpdate(0)
------解决方案--------------------
楼上正解
OnResize事件里为1些布局代码等,如:
Pnl_Function.Width := Shape1.Width - 2;
---------------------------------------------
另:动态生成框架,在显示时也闪烁?如:
var
UserShopSearch: TFrameUserShopSearch; //框架 TFrameUserShopSearch = class(TFrame)
begin
if UserShopSearch = nil then begin
UserShopSearch := TFrameUserShopSearch.Create(pnlMain);//pnlMain为TPanel
UserShopSearch.Init();//初始化 =TForm.OnCreate事件
UserShopSearch.Init0();
UserShopSearch.Align := alclient;
UserShopSearch.Parent := pnlMain;
end;
if not UserShopSearch.Visible then UserShopSearch.Show;
end;
能不能解决闪烁问题?比如生成并初始化后,再显示出来?
------解决方案--------------------
更新大小前用LockWindowUpdate(Handle),更新后用LockWindowUpdate(0)
------解决方案--------------------
楼上正解