Problem mit ALT-Shortcuts und CMFCToolbarbuttons



  • Hallo,

    ich habe einen modalen CDialog und dort oben eine Leiste mit Buttons folgendermaßen
    eingefügt (wndToolBar ist Member vom Dialog und vom Typ CMyDynamicToolBar : public CToolBar):

    m_wndToolBar.Create(this, AFX_DEFAULT_TOOLBAR_STYLE, 100));       
    m_wndToolBar.InsertButton(CMFCToolBarButton(ID_BTN, -1, "Ei&nfügen"));
    m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
    m_wndToolBar.ShowWindow(SW_SHOW);
    // damit Klicks auf Buttons hier beim Dialog ankommen:
    m_wndToolBar.SetRouteCommandsViaFrame(FALSE);
    m_wndToolBar.AdjustLayout();
    

    Leider kommt aber die Tastenkombination ALT-n nicht beim
    Dialog an, sondern scheinbar beim MainFrame der Anwendung.
    Das Programm, an dem ich arbeite ist riesig, habe die Stelle nicht
    gefunden, wo die Nachricht ankommt.

    Weiß jemand, warum das nicht geht? Bei CButton hat es funktioniert.
    Muss ich vielleicht noch irgendeine Property von Toolbar oder Button setzen?

    Bin für jede Hilfe dankbar, habe nach mehrstündiger Suche nichts Passendes
    im Internet gefunden. :-((

    Viele Grüße
    Christian


  • Mod

    Benutze SetOwner. Ansonsten gibt es einige Spezialitäten bzgl. ToolBars in Dialogen.

    Lies mal auf www.codeproject.com nach...
    Toolbars waren für Dialoge ursprünglich nie konzipiert.

    Oder hier:
    https://jeffpar.github.io/kbarchive/kb/141/Q141751/

    Das ist ein "leider gelöschter" KB Artikel aus der MSDN.


Log in to reply