我标记了Lazarus和Delphi,因为到目前为止我所做的一切似乎都相似(100%)。但是我的开发平台是Lazarus。
我正在动态创建如下标签页:
procedure TForm1.cmdTabButtonClick(Sender: TObject);
var
NewTab: TTabSheet;
begin
NewTab := TTabSheet.Create(PageControl1);
NewTab.PageControl:= PageControl1;
NewTab.Caption:='hi';
// NewTab.TabVisible:=true;
// newtab.SetFocus;
end;
该过程的最后两行被注释。没有它们,代码将起作用,但是新选项卡不在最上面。我必须单击它才能放在顶部。
但是,如果我取消这两行的注释,程序将崩溃,表明不可见的对象无法获得焦点。
关于如何解决这个问题的任何建议?
非常感谢!
最佳答案
您需要设置页面控件的ActivePage
属性。像这样:
PageControl.ActivePage := NewTab;