Otwieranie nowego dokumentu w zakładce

Adam Boduch

Oto krótki poradnik jak zrobić aby nowy dokument otwierał się na nowej zakładce (patrz rysunek). Skorzystam z szablonu jaki udostępnia MDIApplication.

zakladka.png

#Klikamy na File->New->Other i wybieramy MDIApplication
#Po wskazaniu folderu otwieramy formę CHILDWIN
#Zmieniamy FormStyle na fsNormal oraz BorderStyle na bsNone
#Przechodzimy do głównej formy
#Wrzucamy komponent PageControl i zmieniamy jego nazwe na pctrlMain
#Odnajdujemy ten oto kod:

procedure TMainForm.CreateMDIChild(const Name: string);
var
  Child: TMDIChild;
begin
  { create a new MDI child window }
  Child := TMDIChild.Create(Application);
  Child.Caption := Name;
  if FileExists(Name) then Child.Memo1.Lines.LoadFromFile(Name);
end;

Teraz zmieniamy go na:

procedure TMainForm.CreateMDIChild(const Name: string);
var
  Child: TMDIChild;
  zakladka: TTabSheet;
begin
  child := TMDIChild.Create(Application); //Tworzymy formę
  zakladka := TTabSheet.Create(Self); //Tworzymy zakładkę
  zakladka.Caption := extractfilename(name); //Zmieniamy Caption na nazwę pliku
  zakladka.PageControl := pctrlMain; //Przypisujemy zakładkę do PageControl
  child.Align := alClient; 
  child.Visible := true;
  Child.Caption := Name;
  child.SetFocus;
  if FileExists(Name) then Child.Memo.Lines.LoadFromFile(Name);
  child.Parent := zakladka;//Tu jest kod który wrzuca okno do Page Control
  pctrlMain.ActivePage := zakladka;
end;

1 komentarz

Przenioslem tutaj tekst ktory dodal Berus123 (dodane w nieodpowiednim miejscu).