我标记了 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;
关于delphi - 如何使新的(动态)选项卡成为事件页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13799140/