AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dynamisch erzeugtes Frame freigeben ...

Ein Thema von RudiV · begonnen am 2. Nov 2005 · letzter Beitrag vom 2. Nov 2005
 
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.690 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Dynamisch erzeugtes Frame freigeben ...

  Alt 2. Nov 2005, 08:58
1. Du legst Dir eine Variable

CurrentFrame : TTntFrame; an zentraler Stelle an (im Hauptformular oder einer gemeinsamen Unit)

2 .Du legst im Hauptformular ein Panel als Container für die Frames an.

3. Die TreeView-Click-Funktion:

Delphi-Quellcode:
procedure TDPR00001Form1.MenuTreeClick(Sender: TObject);
begin
  if CurrentFrame <> nil then begin
    CurrentFrame.Free;
    CurrentFrame := nil;
  end;

  if MenuTree.Selected.Text = _('Logintabelle') then begin TDPR001Frame1.ShowFrame(Panel1); exit; end;
  if MenuTree.Selected.Text = _('Sprache') then begin TDPR001Frame14.ShowFrame(Panel1); exit; end;
...
end;
4. Jedes Frame verfügt über eine statische ShowMethode:

Delphi-Quellcode:
  public
    class procedure ShowFrame(_Parent : TWinControl);
  end;

...

class procedure TDPR001Frame4.ShowFrame(_Parent: TWinControl);
begin
  DPR00001Form1.CurrentFrame := TDPR001Frame4.Create(_Parent);
  with TDPR001Frame4(DPR00001Form1.CurrentFrame) do
  begin
    Parent := _Parent;
    Align := alClient;
  end;
end;
5. Schliesen des Frames vom Frame aus:

Delphi-Quellcode:
procedure TDPR001Frame4.ButtonFrameCloseClick(Sender: TObject);
begin
  PostMessage(Application.MainForm.Handle,WM_USER+3333,0,0);
end;
6. Das Gegenstück im Hauptformular

Delphi-Quellcode:
    procedure OnCloseFrame(var _Msg : TMessage); message WM_USER+3333;

...

procedure TDPR00001Form1.OnCloseFrame(var _Msg: TMessage);
begin
  if CurrentFrame <> nil then
  begin
    CurrentFrame.Free;
    CurrentFrame := nil;
  end;
end;
Sven Harazim
--
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz