![]() |
Re: PageControl - Problem
Ok,
meinen Code habe ich jetzt komplett angepasst, jedoch erhalte ich beim "STRG+S"-Drücken eine Exception, Zugriffsverletzung an dieser Stelle: "if (FActiveMemo.FileName <> '') then" Ich kann keinen Fehler erkennen? |
Re: PageControl - Problem
Okay,
das dürfte etwas länger werden... eigentlich aber sehr einfach zu verstehen... Zuerst brauchen wir eine Globale Variale vom Typ "TList".
Delphi-Quellcode:
Dann müssen wir beim Programmstart (OnFormCreate) etwas speicher dafür anfordern.
MemoList : TList;
Delphi-Quellcode:
Damit wir wirklich sauber Programmieren geben wir den Speicher am Programmende (OnFormDestroy) wieder frei.
MemoList := TList.Create;
Delphi-Quellcode:
Okay, jetzt baut man sich eine Prozedur, womit man Tabs hinzufügt.
MemoList.Free;
Delphi-Quellcode:
Okay, nun hat man ein neues Tab erstellt, nun noch eine Speicher Prozedur:
PROCEDURE NewWindow(WindowName:String);
VAR NewTabSheet:TTabSheet; NewMemo:TMemo; BEGIN NewTabSheet := TTabSheet.Create(MainForm); // speicher auf dem Formular "MainForm" anfordern WITH NewTabSheet DO BEGIN PageControl := MainForm.PageControl; // das Tab dem PageControl zuweisen ShowClose := TRUE; Caption := WindowName; // als kleines Extra kann man hier noch den Namen seperat bestimmen END; NewTabSheet.OnClose := WindowOnClose; // die OnClose Funktion muss rein für das Freigeben des Speichers NewMemo := TMemo.Create(MainForm); // speicher auf dem Formular "MainForm" anfordern für das neue Memo MemoList.Add(NewMemo); // der virtuellen Liste das neue MemoFeld hinzufügen WITH NewMemo DO BEGIN Parent := NewTabSheet; // so wird das Memo auf dem neuen TabSheet plaziert. // Platz für weitere Eigenschaften, wie Größe etc. END; END;
Delphi-Quellcode:
Okay, das wars, du bräuchtest noch ein OnClose, damit du den Speicher nicht zuknallst,
PROCEDURE Save;
VAR Memo : TMemo; BEGIN Memo := MemoList.Items[PageControl.ActivePageIndex]; // nun wird die Variable Memo mit dem Inhalt des Memos gefüllt was gerade aktiv ist IF SaveDialog.Execute THEN Memo.Lines.SaveToFile(SaveDialog.FileName); // einfache Speichermöglichkeit END; aber mach dich erstmal hier rann ;-) Wenn Fragen sind ich antworte gerne :-) |
Re: PageControl - Problem
Liste der Anhänge anzeigen (Anzahl: 1)
Okay,
ich habe dir jetzt noch ein Beispiel geschrieben... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:57 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 by Thomas Breitkreuz