2009-03-19 13 views
0

Kann jemand erklären, wie Dropdownpfeile zu den CMFCToolBar-Symbolleistenschaltflächen hinzugefügt werden - wie zum Rückgängigmachen/Wiederherstellen von Schaltflächen. Wir hatten dies mit CToolBar, indem wir die TBSTYLE_EX_DRAWDDARROWS-Stil- und TBN_DROPDOWN-Benachrichtigung verwendeten. Dies scheint nicht mit CMFCToolBar zu funktionieren. Diese Drop-down-Pfeile, die ich glaube, werden der Visual Studio Demo MFC Feature Pack Demo hinzugefügt, aber ich kann nicht herausfinden, wie.Hinzufügen von Dropdown-Pfeilen zu CMFCToolBar-Schaltflächen

Antwort

1

In der VisualStudioDemo Probe in CMainFrame::OnToolbarReset ersetzen sie die Schaltfläche Rückgängig in der Symbolleiste mit einer benutzerdefinierten Klasse CUndoButton, wie folgt aufgerufen:

m_wndToolBar.ReplaceButton(ID_EDIT_UNDO, CUndoButton(ID_EDIT_UNDO, _T("&Undo"))); 

CUndoButton deklariert in der Datei "UndoBar.h" des Beispielprojekts, so können Sie benutze es oder verändere es wie du willst.

+0

Das habe ich angefangen zu denken. Aber wenn ich den Aufruf von ReplaceButton auskommentiere und die Anwendung neu anlege, sollte der Dropdown-Pfeil nicht weggehen? Ich stelle fest, dass es nicht so ist. –

+1

Das liegt daran, dass die Feature Pack-Beispiele ihre Fenster-/Symbolleisteneinstellungen in der Registrierung speichern. Dasselbe tritt für mich auf, aber wenn ich diesen Registrierungsschlüssel lösche, verschwindet der Dropdownpfeil: HKEY_CURRENT_USER \ Software \ Microsoft \ MFC \ Samples \ VisualStudioDemo – demoncodemonkey

+0

Finden Sie diese Frage für weitere Informationen über den neuen MFC-Registrierungsspeicher: http: // stackoverflow. com/questions/184253/converting-registry-Zugriff-zu-DB-Anrufe-von-MFC-Feature-Pack – demoncodemonkey