在frmmain里放置一个panel1,然后把frmdetail的parent设置为panel1,把frmdetail里的toolbar1的parent设为frmmain
另外,还加了一个vclskin,为了使vclskin的效果不消失(大家知道,vclskin在这种情况下会失去效果),
核心代码是这么写的:
procedure ShowChildForm(childFrm: TForm; toolBar: TToolBar;
statusBar: TStatusBar; ownerPnl: TPanel; ownerFrm: TForm; skinData: TSkinData);
begin
LockWindowUpdate(ownerFrm.Handle);
try
with childFrm do
begin
BorderStyle:= bsNone;
Visible:= false;
Parent:= ownerPnl; try
toolBar.Parent:= ownerFrm;
statusBar.Parent:= ownerFrm;
except
end; Align:= alClient;
skinData.AddNestForm(ownerFrm, childFrm);
skinData.UpdateSkinControl(ownerFrm);
Visible:= true;
SetFocus;
end;
except;
end;
LockWindowUpdate(0);
childFrm.Show;
end;
界面显示的时候有明显的闪动,我把frmmain和panel1的DoubleBuffered都设为true也于事无补高手帮忙啊
另外,还加了一个vclskin,为了使vclskin的效果不消失(大家知道,vclskin在这种情况下会失去效果),
核心代码是这么写的:
procedure ShowChildForm(childFrm: TForm; toolBar: TToolBar;
statusBar: TStatusBar; ownerPnl: TPanel; ownerFrm: TForm; skinData: TSkinData);
begin
LockWindowUpdate(ownerFrm.Handle);
try
with childFrm do
begin
BorderStyle:= bsNone;
Visible:= false;
Parent:= ownerPnl; try
toolBar.Parent:= ownerFrm;
statusBar.Parent:= ownerFrm;
except
end; Align:= alClient;
skinData.AddNestForm(ownerFrm, childFrm);
skinData.UpdateSkinControl(ownerFrm);
Visible:= true;
SetFocus;
end;
except;
end;
LockWindowUpdate(0);
childFrm.Show;
end;
界面显示的时候有明显的闪动,我把frmmain和panel1的DoubleBuffered都设为true也于事无补高手帮忙啊
解决方案 »
- delphi里如何修改字符集
- 进程内存问题
- 我的程序在调用动态链接库中的函数时,出现External exception C0000008错误,怎么解决?
- 一个有关dbgrid和sql的问题,高手请进!急!一经解决马上给分!
- 一个操作Access表的SQL语句问题
- 我的一个用于计算的BUTTON.ONCLICK事件里有1300条语句,每次点击它计算时,第一次计算的结果根本就不对,只有再次点击它一次,结果才计算
- 请教限制的问题!还望大家多多指教,谢谢!
- 请问各位,如何在列出WIN2K域上的所有用户?
- 有关钩子得问题,求教高手
- delphi xe8 ARequestInfo.Params.Values['']中文乱码
- EXE 中增加数据----RAR自解压
- 拦截WM_DESTROY消息里目标程序出错?
statusBar: TStatusBar; ownerPnl: TPanel; ownerFrm: TForm; skinData: TSkinData);
begin
LockWindowUpdate(ownerFrm.Handle);
try
with childFrm do
begin
BorderStyle:= bsNone;
Visible:= false;
Parent:= ownerPnl; try
toolBar.Parent:= ownerFrm;
statusBar.Parent:= ownerFrm;
except
end; Align:= alClient;
skinData.AddNestForm(ownerFrm, childFrm);
skinData.UpdateSkinControl(ownerFrm);
// Visible:= true;
// SetFocus;
end;
except;
end;
LockWindowUpdate(0);
childFrm.Show;
end;