005
07.01.2005, 11:46 Uhr
xXx
Devil
|
Wenn du eine Dialogbasierte anwendung erstellt hast, musst du die CArchiv Klasse noch einbinden, das ich dir jetzt beschreibe. Wenn du aber eine MDI oder SDI Anwendung erstellt hast, kannst du direkt bei 2. weitermachen.
C++: |
class CMyClass : public CObject { DECLARE_SERIAL (CMyClass) public: virtual void Serialize(CArchive &ar); CMyClass(); virtual ~CMyClass(); };
|
Das ganze muss in deine Klassendekleration. Wobei CMyClass deine Klasse ist.
C++: |
// deine includes
IMPLEMENT_SERIAL (CMyClass, CObject, 1)
|
Wo deine Includes steht, sind deine #include einträge. Hinter diesen muss de den das einfügen wobei CMyClass wieder durch deine Klasse ersätzt werden muss.
C++: |
void SetEdit1(CString Edit1) { m_Edit1 = Edit1;} void SetEdit2(CString Edit2) { m_Edit2 = Edit2;} CString GetEdit1() { return m_Edit1;} CString GetEdit2() { return m_Edit2;}
|
Das musst du dann in die Header Datei deiner Klasse unter public: einfügen.
2. Jetzt hast du eine neue Funktion nahmens Serialize(CArchive &ar); In dieser Funktion musst du das Folgende reinschreiben:
C++: |
// Muss etwas ins Archiv geschrieben werden? if (ar.IsStoring()) { // Ja, Denn inhalt aus den Editfeldern 1 und 2 ar << m_Edit1 << m_Edit2; } else { // Nein, Denn Inhalt aus dem Archiv für Edit1 und Edit2 auslesen. ar >> m_Edit1 << m_Edit2; }
|
C++: |
CFile file("C:\Programme\DEINPROGRAMMORDNER, CFile::modeWrite | CFile::modeCreate); CArchive ar(&file, CArchive::store); Serialize(ar); ar.Close();
|
Dass solltest du dann in deine Update Funktion und deine OnCancel() schrieben.
So wird der Inhalt der Edits gespiechrt sobald du etwas änderstbzw Text eingibst und wenn du die Anwendung beendest. Wenn der Inahlt der Combobox auch bei Öffnen des Programms geladen werden soll, musst de sagen, dann erklär ich dir auch wie das geht. |