修改TpageControl的ActivePage属性
//定义的全局变量
FlagDept:smallInt;//0 :人员 1:部门 2:岗位;
//MDI窗体的菜单CLick事件
//1
procedure TFrmStart.NBuMenClick(Sender: TObject);
begin
FlagDept:=1;
if frmRenYuan=nil then
begin
frmRenYuan:=TfrmRenYuan.Create(self);
frmRenYuan.Width:=659;
frmRenYuan.Height:=545;
frmRenYuan.Left :=50;
frmRenYuan.Top :=50;
frmRenYuan.Show;
end
else begin
frmRenYuan.WindowState:=wsNormal;
frmRenYuan.Show;
end;
end;
//2
procedure TFrmStart.NRenYuanClick(Sender: TObject);
begin
FlagDept:=0;
if frmRenYuan=nil then
begin
frmRenYuan:=TfrmRenYuan.Create(self);
frmRenYuan.Width:=659;
frmRenYuan.Height:=545;
frmRenYuan.Left :=50;
frmRenYuan.Top :=50;
frmRenYuan.Show;
end
else begin
frmRenYuan.WindowState:=wsNormal;
frmRenYuan.Show;
end;
end;
//3
procedure TFrmStart.NGangWeiClick(Sender: TObject);
begin
FlagDept:=2;
if frmRenYuan=nil then
begin
frmRenYuan:=TfrmRenYuan.Create(self);
frmRenYuan.Width:=659;
frmRenYuan.Height:=545;
frmRenYuan.Left :=50;
frmRenYuan.Top :=50;
frmRenYuan.Show;
end
else begin
frmRenYuan.WindowState:=wsNormal;
frmRenYuan.Show;
end;
end;
//利用frmRenYuan的FormCreate事件设置其TpageControl控件的ActivePage
procedure TfrmRenYuan.FormCreate(Sender: TObject);
begin
if FlagDept=0 then
page.ActivePage:=tabPer
else if FlagDept=1 then
page.ActivePage:=tabDept
else if FlagDept=2 then
page.ActivePage:=tabPost;
//当前用户没权限的页Free掉,这里改变了TPageControl的结构
if Not CurrRight.DeptQry then
TabDept.Free;
if Not CurrRight.PostInfoQry then
TabPost.Free;
if Not CurrRight.PersonelQry then
TabPer.Free;
//*************************************结论***************************************************
//上面不同颜色的两部分顺序要反过来才能实现效果
end;