リボンに CMFCRibbonEdit を追加しましたが、フォーカスが合っていないようです。
無効に見えます。
Microsoft のサンプルからこのコントロールの作成の実装をコピーして貼り付けましたが、同じ動作が得られます。
私が間違っていることや忘れていることについて何か考えはありますか?
そのリボン要素 ID の更新ハンドラーを追加しましたか?
MFC Feature PackのRibbonGadgetsとMSOffice2007Demoのサンプルをチェックして、その方法を確認してください。
RibbonGadgets には、指定したタイプの要素をリボンに追加するために使用する必要がある正確なコードが表示されます。
CEditRiBbbon のサブクラス化
class CMFCRibbonEditEx : public CMFCRibbonEdit { public: CMFCRibbonEditEx(UINT nID, int nWidth, LPCTSTR lpszLabel = NULL, int nImage = -1) : CMFCRibbonEdit(nID, nWidth, lpszLabel, nImage) {} virtual ~CMFCRibbonEditEx() {}
void SetControlFocus()
{
m_pWndEdit->SetFocus();
}
};
CMFCRibbonEdit の代わりに CMFCRibbonEditEx を使用する
democodemonkey が正しく表示されます。リボン要素には、ダミーのハンドラーであっても、すべての更新ハンドラーが必要です。そうでない場合、それらは無効になります。
今、すべてが完璧に機能します。