![]() |
Re: Problem mit Liste der geöffneten MDI-Child-Fenster
Ich kann das jetzt schlecht nachstellen, aber kannst Du den Index des
zu aktivierende Fenster nicht über seinen Namen bestimen. |
Re: Problem mit Liste der geöffneten MDI-Child-Fenster
Zitat:
|
Re: Problem mit Liste der geöffneten MDI-Child-Fenster
Du kannst anhand der Caption suchen (Tabsheet.Caption = MDIChild.Caption).
Besser: definiere deine eigene TMDIChildTabSheet-Klasse mit
Delphi-Quellcode:
Die Tabsheets erzeugst du dann so:
type
TMDIChildTabSheet = class(TTabSheet) private FMDIChild: TForm; public property MDIChild: TForm read FMDIChild write FMDIChild; end;
Delphi-Quellcode:
Und dann kannst du es einfach mit
for c:=0 to MDIChildCount -1 do
if not (csDestroying in MDIChildren[c].ComponentState) then with tMDIChildTabSheet.Create(Self) do begin PageControl := PageControl1; caption := MDIChildren[c].caption; MDIChild := MDIChildren[c]; end;
Delphi-Quellcode:
nach vorne holen.
procedure TFrameForm.PageControl1Change(Sender: TObject);
begin TMDIChildTabSheet(PageControl1.ActivePage).MDIChild.BringToFront; end; |
Re: Problem mit Liste der geöffneten MDI-Child-Fenster
@ flocke: Super, funktioniert soweit ganz klasse, danke!! :thumb:
Jetzt habe ich aber noch ein Problem: Wenn ich nun mit einem Mausklick ein Childfenster aktiviere, sollte auch der entsprechende TabSheet markiert werden. D.h. irgendwas in der Richtung:
Delphi-Quellcode:
Funktioniert so natürlich nicht, aber so ähnlich müßte es doch sein, oder?
PageControl1.ActivePage := ActiveMDIChild.Caption;
Und wo müßte die Zuweisung erfolgen, im onActivate des ChildFormulars? :?: :gruebel: |
Re: Problem mit Liste der geöffneten MDI-Child-Fenster
Du musst ja nur das TabSheet suchen, dass sich auf ActiveMDIChild bezieht:
Delphi-Quellcode:
for c := 0 to tMDIChildTabSheet.PageCount - 1 do
if TMDIChildTabSheet(tMDIChildTabSheet.Pages[c]).MDIChild = ActiveMDIChild then tMDIChildTabSheet.ActivePageIndex := c; |
Re: Problem mit Liste der geöffneten MDI-Child-Fenster
Hallo flocke:
meinst Du etwa so: :wink:
Delphi-Quellcode:
Im OnActivate des ChildFensters eingebunden funzt es!! :thumb: :thumb:
for c := 0 to MDIChildCount - 1 do
if TMDIChildTabSheet(PageControl1.Pages[c]).MDIChild = ActiveMDIChild then PageControl1.ActivePageIndex := c; Vielen Dank nochmal!! :wink: |
Re: Problem mit Liste der geöffneten MDI-Child-Fenster
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:43 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