程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi主從窗體調用的實現

Delphi主從窗體調用的實現

編輯:Delphi

用delphi來制作一些客戶端小工具還是比較方便的。我們通常在做一個軟件的時候,首先要考慮的是窗體布局和窗體之間的互相調用問題。下面就是主從窗體的實施步驟:
第一步,打開【Delphi7】,新建一個Delphi工程,新建一個空白窗體命名為:【MainActivedForm】。
然後重寫構造函數:
代碼如下:
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TMainActivedForm = class(TForm)
  private
      FAsChild: Boolean;
    { Private declarations }
  public
    { Public declarations }
    FTempParent: TWinControl;
    constructor Create(AOwner: TComponent); overload; override;
    constructor Create(AOwner: TComponent; AParent: TWinControl); reintroduce; overload;
  end;
var
  MainActivedForm: TMainActivedForm;
implementation
{$R *.dfm}
 constructor TMainActivedForm.Create(AOwner: TComponent);
begin
  FAsChild := False;
  inherited Create(AOwner);
end;
constructor TMainActivedForm.Create(AOwner: TComponent; AParent: TWinControl);
begin
  self.BorderStyle := bsnone;
  self.Align := alclient;
  FAsChild := True;
  FTempParent := aParent;
 
  inherited Create(AOwner);
  setparent(AParent);
end;
end.
新建一個子窗體,窗體的名稱是【JXConfigForm】,窗體的基類設置為  TJXConfigForm = class(TMainActivedForm)。
然後新建主窗體,並添加【MainActivedForm】的單元引用。
在主窗體上拖一個TbsSkinPanel控件,命名為【bsSkinPanel2】。
在主窗體中聲明一個全局變量【aPnParent:TbsSkinPanel;】。
創建主窗體的FormCreate事件,事件代碼如下:
procedure TMainForm.FormCreate(Sender: TObject);
begin
aPnParent := bsSkinPanel2;
 perform(WM_SIZE,SIZE_MAXIMIZED,0);
end;
在主窗體上放置一個按鈕【bsSkinSpeedButton5】,添加按鈕事件函數:
procedure TMainForm.bsSkinSpeedButton5Click(Sender: TObject);
begin
//調出頁面
  if MainActivedForm <> nil then
    begin
      MainActivedForm.Free;
    end;
  MainActivedForm := TJXConfigForm.Create(application, apnParent);
  MainActivedForm.show;
end;
這樣,主從窗體的調用就完成了。

 


摘自 XFeng信息科技工作室

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved