不知道理解的对不对,你可以通过panel,将其他的窗口的panel的parent设置成主窗口的panel procedure ShowPanel(APanel,APanelMain: TPanel); var I: Integer; AControl: TControl; begin APanel.Parent := APanelMain; APanel.Left := 0; APanel.Top := 0; APanel.Visible := True; for I := 0 to APanelMain.ControlCount - 1 do begin AControl := APanelMain.Controls[I]; if (AControl is TPanel) and (AControl <> APanel) then AControl.Visible := False; end; end; 或者用pagecontrol,将tabvisible=false就行了
我把tabsheet的tabVisible=false,然后我在点击安钮,可是每反应,我的安钮事件是这样写的 procedure Tmainform.Button1Click(Sender: TObject); begin mainform.PageControl1.TabIndex:=0; end;procedure Tmainform.Button2Click(Sender: TObject); begin mainform.PageControl1.TabIndex:=1;不知道对不对?
procedure TForm1.FormCreate(Sender: TObject); var i:integer; begin for i:=0 to PageControl1.PageCount-1 do begin PageControl1.Pages[i].TabVisible:=false; end; end;procedure TForm1.Button1Click(Sender: TObject); begin PageControl1.ActivePageIndex:=0; end;procedure TForm1.Button2Click(Sender: TObject); begin PageControl1.ActivePageIndex:=1; end;procedure TForm1.Button3Click(Sender: TObject); begin PageControl1.ActivePageIndex:=2; end;//============================新鲜出炉...还热着呢...呵呵
procedure ShowPanel(APanel,APanelMain: TPanel);
var
I: Integer;
AControl: TControl;
begin
APanel.Parent := APanelMain;
APanel.Left := 0;
APanel.Top := 0;
APanel.Visible := True;
for I := 0 to APanelMain.ControlCount - 1 do
begin
AControl := APanelMain.Controls[I];
if (AControl is TPanel) and (AControl <> APanel) then
AControl.Visible := False;
end;
end;
或者用pagecontrol,将tabvisible=false就行了
2.自己在左侧放置按钮
3.第三方控件,美萍用的就是第三方的,有dx的,有tms的,你可以试试
procedure Tmainform.Button1Click(Sender: TObject);
begin
mainform.PageControl1.TabIndex:=0;
end;procedure Tmainform.Button2Click(Sender: TObject);
begin
mainform.PageControl1.TabIndex:=1;不知道对不对?
var
i:integer;
begin
for i:=0 to PageControl1.PageCount-1 do
begin
PageControl1.Pages[i].TabVisible:=false; end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
PageControl1.ActivePageIndex:=0;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
PageControl1.ActivePageIndex:=1;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
PageControl1.ActivePageIndex:=2;
end;//============================新鲜出炉...还热着呢...呵呵
你可以把这一页,显示出来,然后把相关的状态(状态是指进入该页应具有的状态,是你编程决定的)改一下.呵呵.
然后都隐藏,只显示你想要出现的一页.
==================================
还有种,是你二边放PANEL,然后,里面的功能就做成一个个FORM.然后把FORM嵌入到PANEL里面去.
==================================
感觉用PAGECONTRL控件最为简单.(如果你要做的是大程序,这个就比较不合适了.调用FORM比较好,可以扩展开发.)