Einzelnen Beitrag anzeigen

MathiasSimmack
(Gast)

n/a Beiträge
 
#3
  Alt 29. Aug 2002, 10:22
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>
  Mit Zitat antworten Zitat