Nee, da sind keine besonderen Nachrichten, sakura.
Ich habe einfach nur das PageControl auf die Form gepackt, eine Seite angelegt und einen TreeView reingehauen. Das war´s. Nur das andere PageControl legt die Seiten dynamisch an. Eine wird beim Start wie folgt erstellt:
Code:
// create 1st page
ntab := TTabSheet.Create(PageControl1);
ntab.Visible := true;
ntab.Caption := 'Testseite';
ntab.PageControl := PageControl1;
PageControl1.ActivePage := ntab;
nrich := TRichEdit.Create(ntab);
nrich.Parent := ntab;
nrich.Align := alClient;
nrich.Visible := true;
nrich.PlainText := true;
nrich.Font.Name := 'Courier New';
nrich.Font.Size := 10;
nrich.ScrollBars := ssBoth;
Ich hätt´s u.U. ja auch auf darauf geschoben, dass ich beim dynamischen Anlegen der Seiten was falsch gemacht habe. Wenn aber nicht mal das oben erwähnte, normal erstellte und immer vorhandene PageControl/TreeView funktioniert ...
Ich werde mal schauen, ob das was mit dem XP-Patch der "ComCtrl.pas" zu tun hat. Du weißt schon, da gab´s doch diese Änderungen für die TListView, damit´s unter XP funktioniert. Ich kann mich zwar nicht entsinnen, irgendwas am PageControl geändert zu haben, aber das ist auch schon ´ne Weile her. Möglich, dass ein vermeintlicher XP-Patch dieses Problem verursacht.
<Edit>
Tatsächlich! Da stecken sie:
Code:
procedure TTabSheet.UpdateTabShowing;
begin
SetTabShowing((FPageControl <> nil) and FTabVisible);
// WinXP patch
SetWindowLong(
handle,GWL_EXSTYLE,WS_EX_TRANSPARENT);
end;
procedure TPageControl.Loaded;
var
i : integer;
begin
inherited Loaded;
UpdateTabHighlights;
// WinXP patch
for I:=self.PageCount-1 downto 0 do
self.ActivePage:=self.Pages[I];
end;
Dass ich mich daran nicht mehr erinnern konnte, gibt mir zu denken ...
... Na egal. Wenn ich diese Patches auskommentiere, tritt das Verschwinden der Child-Controls nicht mehr auf.
Aber irgendeinen Sinn müssen die Änderungen doch gehabt haben, denn grundlos schreibe ich doch nicht Web-Tipps in meine Units rein. Ich hab das Programm gerade mal unter XP mit aktivem LUNA probiert. Probleme gab´s aber nicht. Hm ...
</Edit>