此问题是在项目中,因为打开的画面需像DelphiXe的显示风格一样来显示。所有的Form都需要Dock到一个PageControl的容器中,开始的时候对新创建的Form的Parent属性进行设置他的值。此时运行程序后发现Form上的所有元件都不能进行删除与复制操作,也就是无法获得焦点!后经验证,此问题需调用API的SetParent来处理,代码如下:
var
vPage: TcxTabSheet;
C: TFrameDesignContainer;
i: integer;
begin
vPage := TcxTabSheet.Create(Self);
vPage.PageControl := PageControl_Design;
PageControl_Design.ActivePage := vPage;
vPage.Caption := ExtractFileName(AFileName);
vPage.Tag := integer(AForm);
C := TFrameDesignContainer.Create(Self);
C.Name := 'XX' + InttoStr(gFrameIndex);
Inc(gFrameIndex);
C.Parent := vPage;
C.Align := alClient;
AForm.BorderStyle := bsNone;
//AForm.Parent :=C.ScrollBox_Main;
Windows.SetParent(AForm.Handle,C.ScrollBox_Main.Handle);
AForm.FreeNotification(Self);
AForm.WindowState := wsNor