Sebagai alternatif tambahan saja,

saya coba sedikit modifikasi dari referensi reply posting terdahulu yang
sebenarnya sama saja kasusnya, (Masalah Create & Destroy Form (ASAP) - 10
September 2003 9:42), masih dalam bulan september kemarin koq, dan dengan
menggunakan sample surce code yang bung sugi buat, tetap bisa disederhanakan
hanya dengan memanfaatkan sebuah prosedur. anda bisa secara fleksibel
mengganti TFrame dengan TForm ataupun sebaliknya, cuman butuh sedikit
modifikasi saja koq dari contoh kode dalam postingan tersebut.

Salam,

-Jaimy
--
...Maybe you should think about how much time other people spend
on developing components to make you idiots which wouldn't even
be able to make a simple window showing up, possible to call
yourselves "PROGRAMMERS"...
      -- James (20-09-2003 21:36)

----------- frmUnitJaimU.pas
unit frmUnitJaimU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes,
  Graphics, Controls, Forms, Dialogs, ComCtrls,
  ExtCtrls, StdCtrls;

type
  TFrameClass = class of TFrame;

  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    StatusBar1: TStatusBar;
    Button2: TButton;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    FActiveFrame: TFrame;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses Unit2, Unit3;

{$R *.dfm}

//
// ******** cuman butuh prosedur ini ********
//
procedure FindFrameClass(AParent: TComponent;
  AFrame: TFrameClass;
  var AActiveFrame: TFrame);
var
  i: integer;
begin
  if Assigned(AActiveFrame) then
    AActiveFrame.Hide;
  AActiveFrame := nil;
  if AParent.ComponentCount > 0 then
    for i := 0 to AParent.ComponentCount-1 do
      if (AParent.Components[i] is AFrame) then
      begin
        AActiveFrame := TFrame(AParent.Components[i]);
        break;
      end;
  if not Assigned(AActiveFrame) then
  begin
    AActiveFrame := AFrame.Create(AParent);
    AActiveFrame.Top := 0;
    AActiveFrame.Left:= 0;
    if AParent is TWinControl then
    begin
      AActiveFrame.Parent := TWinControl(AParent);
      AActiveFrame.Height := TWinControl(AParent).ClientHeight;
      AActiveFrame.Width  := TWinControl(AParent).ClientWidth;
    end;
  end;
  AActiveFrame.Show;
end;
//
// ****************
//

procedure TForm1.FormCreate(Sender: TObject);
begin
  FActiveFrame := nil;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  FindFrameClass(Panel1, TFrame2, FActiveFrame);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  FindFrameClass(Panel1, TFrame3, FActiveFrame);
end;

end.


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Upgrade to 128-Bit SSL Security!
http://us.click.yahoo.com/p7cEmB/s7qGAA/yigFAA/i7folB/TM
---------------------------------------------------------------------~->

Berlangganan: [EMAIL PROTECTED]
Stop Berlangganan: [EMAIL PROTECTED]
Keluhan Milis(Unbouncing,spam,dll): [EMAIL PROTECTED] 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 


Kirim email ke