uniGUI之多頁面框架(16)


 

框架1

框架2


 

框架1

 

相關源代碼

 新增頁面uniFrame4

 

 在Main增加四處

var
  aFrame: array[0..3] of TUniFrameInfo;    ////////////增加數組數///////////////
   PSString: string;
implementation

{$R *.dfm}

uses
  uniGUIVars, MainModule, uniGUIApplication, Unit1, Unit2, Unit3
  /////////////////////////////////
  , unit4
  ;


procedure TMainForm.UniFormCreate(Sender: TObject);
begin
  aFrame[0].Name := 'TUniFrame1';
  aFrame[0].Caption := 'aaa';
  aFrame[0].CanClose := True;

  aFrame[1].Name := 'TUniFrame2';
  aFrame[1].Caption := 'bbb';
  aFrame[1].CanClose := True;

  aFrame[2].Name := 'TUniFrame3';
  aFrame[2].Caption := 'ccc';
  aFrame[2].CanClose := True;
 ////////////////////////////////////

  aFrame[3].Name := 'TUniFrame4';
  aFrame[3].Caption := 'ddd';
  aFrame[3].CanClose := True;

end;

initialization
  RegisterAppFormClass(TMainForm);
  RegisterClasses([TUniFrame1, TUniFrame2, TUniFrame3
///////////////////////////////////////////
, TUniFrame4
  ]);
finalization
  UnRegisterClasses([TUniFrame1, TUniFrame2, TUniFrame3
 /////////////////////////////
, TUniFrame4
  ]);

框架2 效果圖


 

 左邊的樹 的樹結點 ,通過 結點名 與 右 側TabSheet名 一致時,顯示 相關頁面。

這是相關 源代碼

procedure TMainForm.UniFormCreate(Sender: TObject);
var
  I: Integer; 
begin
  for I := UniPageControl1.PageCount - 1 downto 1 do // 一定是  downto 1
  begin
    UniPageControl1.Pages[I].Visible := false;
    UniPageControl1.Pages[I].TabVisible := false;
  end;
  UniPageControl1.ActivePageIndex:=0;//設計 時, 一定要 先 首頁 最先顯示
 
UniTreeView1.FullExpand;

end;
procedure TMainForm.UniTreeView1Click(Sender: TObject);
var
  I: Integer;
begin
  for I := UniPageControl1.PageCount - 1 downto 0 do
  begin
    UniPageControl1.Pages[I].Visible := false;
    UniPageControl1.Pages[I].TabVisible := false;
  end;


  for I := UniPageControl1.PageCount - 1 downto 0 do  begin
    if UniPageControl1.Pages[I].Caption = UniTreeView1.Selected.Text then
    begin
      UniPageControl1.Pages[I].Visible := true;
      UniPageControl1.Pages[I].TabVisible := true;;
      break;
    end;
    UniPageControl1.Pages[0].TabVisible := true;
    UniPageControl1.Pages[0].Visible := true;
  end;

end;
procedure TMainForm.SearchTree(const AText: string);
var
  S, SString: string;
  I: Integer;
  aExpand: Boolean;
begin
  SString := Trim(AText);
  if SString <> PSString then
  begin
    PSString := LowerCase(SString);
    if (Length(PSString) > 0) or (PSString = '') then
    begin
      aExpand := PSString <> '';
      UniTreeView1.BeginUpdate;
      tryfor I := 0 to UniTreeView1.Items.Count - 1 do
        begin
          S := LowerCase(UniTreeView1.Items[I].Text);
          UniTreeView1.Items[I].Visible := (Length(PSString) = 0) or
            (Pos(PSString, S) > 0);
          UniTreeView1.Items[I].Expanded := aExpand;
        end;
      finally
        UniTreeView1.EndUpdate;
      end;
    end;
  end;
end;

源文件下載


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM