不知道是不是TpageControl的bug

修改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;



 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章