Guten Tag! Ich aktualisiere meine Anwendung von CMDIFrameWnd zu CMDIFrameWndEx, und konfrontiert mit dem Problem der Client-Bereich von MainFrame.Bevor ich hatte m_hWndMDIClient, und Subclass dazu mit meiner Klasse. Jetzt habe ich m_wndClientArea, und es bringt mir nur Kopfschmerzen! Jetzt kann ich nicht Subclass. Deshalb habe ich versucht, dies zu tun:Kundenbereich CMDIFrameWndEx
mdiCliWnd_.Attach(m_wndClientArea.Detach());
mdiCliWnd_.Invalidate();
mdiCliWnd_.UpdateWindow();
m_wndClientArea.Attach(mdiCliWnd_.Detach());
Aber ich kann nicht einmal überprüfen, wie es funktioniert, weil ich jetzt ein Problem haben, dass ich CWnd meiner Client-Bereich auf einen anderen Funktionen geben sollte, aber m_wndClientArea ist geschützt . Meine Fragen sind also: Kann ich meine eigene Klasse auf eine andere Art untergliedern? Wenn ich nicht kann, wie sollte ich m_wndClientArea verwenden, um es anderen Funktionen zu geben?
Der Hauptgrund ist die Verwendung von OnRButtonUp (etc) -Funktionen im Client-Bereich! Ich las Ihre Antwort über "klassische Unterklassen" hier - http://StackOverflow.com/Questions/30209469/How-to-limit-the-Number-of-Mdi-Tab-Groups, aber ich verstehe nicht, was insbesondere sollte ich Unterklasse - CMDIClientAreaWnd oder CMDIFrameWndEx und wie? – DmitryLazdin
Sie Unterklasse ein Handle kein Objekt! m_hWndMDIClient. Was ist der Grund für die Erkennung von RButtonUP/Down? Kontextmenüs sollten Implementierungen mit WM_CONTEXTMENU sein, und diese Nachrichten werden an die übergeordneten Fenster weitergegeben ... – xMRi
Leider weiß ich nicht, wie man eine Handle-Subklasse behandelt. Wie ich finde - SubclassWindow (pParentFrm _-> m_hWndMDIClient) - ist MFC Subclassing, weil es mir Fehler von bereits Subclass-Objekt gibt. Also kannst du mir bitte ein Beispiel geben von "standatd subclass a handle" – DmitryLazdin