Fehler nach Auskommentieren
-
Hallo,
Ich verzeifel gerade an einem Problem.
Ich habe mit dem Wizzard eine MFC Applikation im Office 2007Look mit der Outlookleiste (NavigationBar)erstellt. Diese hat Standardmäßig einen Kalender und die Ordner implementiert. Jetzt habe ich im Quelltext,genauer in der MainFrm.cpp die Zeilen "pOulookBar->AddControl(&tree,.....usw..)" auskommentiert und kompiliert.
Ergebnis war, wie zu erwarten, das er die Outlookbar nicht mehr darstellt, da ja keine Elemente mehr vorhanden sind. Daraufhin, habe ich die /* */ entfernt, so das die Bar, nach dem Kompilieren wieder erscheinen müsste. Tut Sie aber nicht.Wo liegt der Fehler? Wird diese Information irgndwo abgespeichert? Das selbe Problem titt auch auf. Wenn ich das Caption Pane im Programm schließe, bleibt es geschlossen und ich bekomme es nicht mehr angezeigt.
Ich hoffe, jemand kann mir helfen.
Gruss t2b
-
Ja die Infos werden alle in der Registry abgespeichert. in der App Klasse in InitInstance wird der RegsitryKey gesetzt. Diesen könntest Du einfach löschen und alles ist wieder da.
Georg
-
Ahh, vielen Dank.
Ich habe den Schlüssel in der Registry gelöscht und siehe da, die Bar ist wieder da.
Aber wie kann ich dem Programm sagen, das er den Wert am besten erst garnicht in die Reg schreibt. Steht das alles in der Init Instance? weil in der Reg sind relativ viele Unterschlüssel.Gruss t2b
-
t2b schrieb:
Aber wie kann ich dem Programm sagen, das er den Wert am besten erst garnicht in die Reg schreibt. Steht das alles in der Init Instance? weil in der Reg sind relativ viele Unterschlüssel.
Das läuft glaube ich über über Load-/SaveState von CWinAppEx. Wenn Du diese Methoden überschreibst, wird nichts mehr in die regiistry geschrieben.
lg
Georg
-
Wo kann man denn so etwas mal denn vernünftig nachlesen?
In der msdn habe ich darüber noch nichts gefunden..
-
Hier steht doch schon mal ein Teil: http://msdn.microsoft.com/en-us/library/bb983847.aspx
-
Das komplette ausschalten halte ich nicht für korrekt.
Das Problem hier ist doch auch, dass Dein Bar in dem Konmtext wieder auftauchen soll, in dem es mal war. Wenn das nicht gespeichert wird, werden auch andere Fensterpositionen nicht gespeichert. Auch die Fenstergröße der Main-App wird nicht gespeichert.Werde Dir klar wo Dein Problem liegt...
Definiere was Du willst.
-
Martin Richter schrieb:
Das komplette ausschalten halte ich nicht für korrekt.
Das Problem hier ist doch auch, dass Dein Bar in dem Konmtext wieder auftauchen soll, in dem es mal war. Wenn das nicht gespeichert wird, werden auch andere Fensterpositionen nicht gespeichert. Auch die Fenstergröße der Main-App wird nicht gespeichert.Werde Dir klar wo Dein Problem liegt...
Definiere was Du willst.Da habe ich wohl nach dem ersten Beitrag zu weit gedacht, ohne es mitzutelen
Mein Problem wurde ja durch die erste Antwort von Georg++ gelöst. Vielen Dank nochmal Georg
Kommen wir zum zweiten Teil. Als ich die Schlüssel gesehen habe, die meine Applikation in die Windows-Registry schreibt, war ich ziemlich baff.Es waren eine Menge Schlüssel vorhanden(größten Teils Werte, die zum Ribbon gehören), die wohl das Design-Technische verhalten dokumentieren . Jetzt interessiert mich, welche Datei oder welches Objekt mir diese Werte in die Registry schreibt, bzw. was ich machen muss, um nur bestimmte Werte zu setzen. z.B. das die Fensterposition und Fenstergöße nicht abgespeichert werden, sondern immer einen Standardwert haben.
Ich muss dazu sagen, ich programmier noch nicht lange mit den MFC.
-
Wenn immer der Standard gelten soll, dann manipuliere die Objekte so, dass sie nicht verschoben und gedockt werden können.
Anonsten debugge in die Tifen von LoadState und Du wirst massenweise auf alte Bekannte wie Serialize treffen