Autor Beitrag
Anateus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Do 07.10.10 09:00 
Hallo,
man findet ja in vielen Anwendungen nicht mehr die klassische MDI-Darstellung von Child-Fenstern, die wie Windows im MDI-Parent gestabelt werden, sondern die MDI-Child werden in Maximalgröße im MDI-Parent dargestellt und erhalten so eine Registerlasche. Diese Registerlasche hat man rechten Rand ein X-Symbol, mit dem man das Fenster wieder schließen kann.
Wenn mehrere MDI-Childs geöffnet sind, dann werden diese Registerlaschen nebeneinander gereiht (ähnlich wie beim Excel).
Zu guter Letzt suche ich nun eine Komponente für Delphi7, damit ich diesen viuellen Effekt so hinbekomme.
Kann mir da jemand von Euch weiterhelfen?
Gruß
Fred
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Do 07.10.10 09:27 
Vorschlag:
ausblenden Delphi-Quelltext
1:
2:
3:
NeuesFenster := TNeuesFenster.Create;
NeuesFenster.Show;
NeuesFenster.ManualDock(PageControlAufparent,nil,alNone);

Auf dem PageControl Tabvisible für alle Tabs auf False schalten und ein egens Control für die Tabs drüberlegen (z.B.) abgeleitet von TGraphicontrol, hier kannst Du Caption und Schließenbuttons darstellen und abarbeiten
Anateus Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Do 07.10.10 10:38 
Den Vorschlag finde ich gut, komme aber noch nicht ganz damit klar.
Kannste das noch ein wenig ausführlicher darstellen?
Danke.
Fred
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Do 07.10.10 11:16 
aber nur anreissen ok ;-)


FFromlist ist eine Stringlist erzeugt im Contructor und Freigegeben in destructor

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.NeuesFeneter;
var
  i:Integer;
  f:TForm;
begin
  f := TForm2.Create(self);
  FFromlist.AddObject(f.Caption,f);
  With f do
    begin
      show;
      manualdock(PC,nil,alNone);
    end;
 for I := 0 to PC.PageCount -1  do PC.Pages[i].tabvisible := false;
 PC.ActivePageIndex := pc.PageCount - 1;
 UpdateMyTabControl;
end;


UpdateMyTabControl würde jetzt in Deiner komponente die Strings aus FFromlist als tabs anzeigen, den letzten selektieren.

Bei Klick auf eine im tab gemaltes schließen :
ausblenden Delphi-Quelltext
1:
2:
3:
4:
  FFromlist.Objects[index].Free
  FFromlist.Delete(index);
  PC.ActivePageIndex := pc.PageCount - 1;
  UpdateMyTabControl;
Anateus Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Do 07.10.10 16:26 
Ich bedanke mich recht herzlich für Deine Hilfe.
Gruß
Fred