Artikel-ID: 129649 - Geändert am: Dienstag, 21. November 2006 - Version: 2.1 PRB: GetActiveView gibt für ein MDI-Rahmenfenster NULL
ProblembeschreibungDie GetActiveView()-Funktion gibt die aktive Ansicht (falls vorhanden) an ein Rahmenfenster (CFrameWnd) angefügt. Diese Funktion gibt NULL, wenn für eine MDI-Hauptrahmenfenster (CMDIFrameWnd) aufgerufen. UrsacheDas MDI-Hauptrahmenfenster (CMDIFrameWnd) muss in einer MDI-Anwendung keine Ansicht zugeordnet. Stattdessen besitzt jedes einzelnen untergeordneten Fenster (CMDIChildWnd) eine oder mehrere Ansichten zugeordnet. Daher gibt ein Aufruf der Funktion GetActiveView() für eine MDI-Hauptrahmenfenster NULL zurück. Der "Weitere Informationen" Abschnitt dieses Artikels bietet das Layout der verschiedenen Fenster in einer MDI-Anwendung. LösungZur Behebung des Problems finden Sie das aktive untergeordnete MDI-Fenster (falls vorhanden) und rufen dann die Funktion GetActiveView() für das untergeordnete Fenster. Das aktive untergeordnete MDI-Fenster kann durch Aufrufen der Funktion MDIGetActive() oder GetActiveFrame() gefunden werden, wie in diesem Code veranschaulicht: Weitere InformationenClientbereich eines MDI-Rahmenfenster wird durch das Clientfenster als MDICLIENT, auch bekannt als Arbeitsbereich bezeichnet abgedeckt. Dieses Clientfenster enthält wiederum 0 (null) oder mehr untergeordnete Fenster, von denen jedes eine als in diesem Diagramm anzuzeigen, kann:
---------------------------
| Frame Window | ---> CMDIFrameWnd
| (main application window) |
---------------------------
|
--------------------
| Client Window | ---> MDICLIENT window class
| (no view attached) |
--------------------
|
-----------------------------------------------------------
| |
--------------------- --------------------
| Child Window 1 | | Child Window 2 | ---> CMDIChildWnd
| (one or more views) | | (one or more views |
--------------------- --------------------
Deshalb gibt das Aufrufen der GetActiveView()-Funktion für ein MDI-Hauptrahmenfenster NULL, sagen, dass keine Ansicht MDICLIENT direkt zugeordnet ist zurück. Die aktive Ansicht in einer MDI-Anwendung erhalten Sie durch suchen zuerst das aktive untergeordnete MDI-Fenster und suchen die aktive Ansicht für das untergeordnete Fenster, wie im Abschnitt Lösung in diesem Artikel beschrieben. Informationsquellen"Programming Windows 3.1," Press Charles Petzold, Microsoft, 1992. Die Informationen in diesem Artikel beziehen sich auf:
Maschinell übersetzter ArtikelWichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten. Den englischen Originalartikel können Sie über folgenden Link abrufen: 129649
(http://support.microsoft.com/kb/129649/en-us/
)
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
| Weitere Ressourcen Weitere SupportseitenCommunitySPRACHE AUSWÄHLEN |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email



Zum Anfang