1
我正试图在我的应用程序的功能区栏上创建一个搜索框。 它应该在树形控件中搜索给定的文本,按下Enter按钮,但不会丢失它的焦点/选择。 当前我点击时输入它失去焦点,并让用户再次点击该搜索框以继续。明确地将焦点设置为CMFCRibbonEdit
我的搜索框是一个CMFCRibbonEdit控件。
任何人都可以帮忙吗?
在此先感谢。
我正试图在我的应用程序的功能区栏上创建一个搜索框。 它应该在树形控件中搜索给定的文本,按下Enter按钮,但不会丢失它的焦点/选择。 当前我点击时输入它失去焦点,并让用户再次点击该搜索框以继续。明确地将焦点设置为CMFCRibbonEdit
我的搜索框是一个CMFCRibbonEdit控件。
任何人都可以帮忙吗?
在此先感谢。
有同样的问题,解决方案有点痛苦。如果你看看CMFCRibbonEdit的来源,你会看到它有一个受保护的成员CMFCRibbonRichEditCtrl * m_pWndEdit;内部功能区代码使用m_pWndEdit-> SetFocus();将焦点置于编辑控件上。你可以从CMFCRibbonEdit派生一个类,使用类似
class CMyRibbonEdit : public CMFCRibbonEdit
{
public:
void SetFocus()
{
m_pWndEdit->SetFocus();
}
};
但它有问题。值得注意的是,设置焦点会调用编辑窗口的命令处理程序,因此如果从该函数调用SetFocus,则很容易发生递归和堆栈错误。
看到你试过的代码会有帮助。 – rrirower
我没有编码设置焦点。 – Yogesh