CMFCRibbonEdit не получает фокус - PullRequest
1 голос
/ 28 ноября 2009

Я только что добавил CMFCRibbonEdit к своей ленте, но, похоже, он не получает фокус.

Похоже, отключен.

Я даже скопировал / вставил реализацию создания этого элемента управления из образца Microsoft, но у меня такое же поведение.

Есть идеи, что я могу делать неправильно или забывать делать?

Ответы [ 3 ]

2 голосов
/ 29 ноября 2009

Вы добавили обработчик обновления для этого идентификатора элемента ленты?

Проверьте образцы RibbonGadgets и MSOffice2007Demo в пакете функций MFC, чтобы увидеть, как они это делают.

RibbonGadgets покажет вам точный код, который вам необходимо использовать для добавления элемента указанного типа на вашу ленту.

0 голосов
/ 24 декабря 2010

Подкласс CEditRiBbbon

класс CMFCRibbonEditEx: общедоступный CMFCRibbonEdit { общественности: CMFCRibbonEditEx (UINT nID, int nWidth, LPCTSTR lpszLabel = NULL, int nImage = -1) : CMFCRibbonEdit (nID, nWidth, lpszLabel, nImage) {} виртуальный ~ CMFCRibbonEditEx () {}

    void SetControlFocus()
    {
        m_pWndEdit->SetFocus();
    }

};

использовать CMFCRibbonEditEx вместо CMFCRibbonEdit

0 голосов
/ 29 ноября 2009

democodemonkey, хотя это правильно. Все элементы ленты должны иметь обработчик обновлений, даже фиктивный. Если они этого не делают, они отключены.

Теперь все работает отлично.

...