Einzelnen Beitrag anzeigen

Benutzerbild von hincapie
hincapie

Registriert seit: 24. Mär 2005
200 Beiträge
 
Delphi 5 Professional
 
#1

Problem mit Liste der geöffneten MDI-Child-Fenster

  Alt 1. Mär 2006, 14:18
Hallo,
bei mir raucht's mal wieder!
Also, ich habe da einen Editor als MDI-Anwendung und möchte mir die göffneten Child-Fenster als TabSheets in einem PageControl anzeigen lassen.
Dazu nutze ich folgende Prozedur:
Delphi-Quellcode:
    
procedure TFrameForm.MakeChilds;
var
  i, c: integer;
begin
  i := 0;
  c := 0;
  for i := 0 to PageControl1.PageCount -1 do
     PageControl1.Pages[i].Free;
  for c:=0 to MDIChildCount -1 do
    with tTabSheet.Create(Self) do
    begin
      PageControl := PageControl1;
      caption := MDIChildren[c].caption;
    end;
  if MDIChildCount = 0 then CoolBar1.Height := Toolbar2.Height +4
    else CoolBar1.Height := Toolbar2.Height + PageControl1.Height +8;
end;
Diese Prozedur rufe ich nun beim OnCreate des ChildFensters auf. Soweit so gut.
Bei zwei Childs funzt das auch, siehe Bild 'korrekt.jpg';
beim Öffnen des dritten Childs kommt's dann, siehe 'unkorrekt.jpg';
beim vierten ist dann wieder alles in Butter -> 'geht_wieder.jpg'.
Hat jemand eine halbwegs logische Erklärung dafür?

Ach ja, irgendwie muss ich noch auf das Beenden eines Childs reagieren, aber wie?
Beim OnDestroy mit o.g. Prozedur zählt immer noch das gerade geschlossene Fenster mit.
Miniaturansicht angehängter Grafiken
korrekt_611.jpg   unkorrekt_965.jpg   geht_wieder_265.jpg  
  Mit Zitat antworten Zitat