我正在使用C ++。一个带有一些句子的简单富文本ctrl框。我使用它是因为我需要滚动。我的问题是文本开头的光标闪烁(如下图所示)
我在互联网上搜索了这段代码:
http://forums.wxwidgets.org/viewtopic.php?p=96307
在上面的链接中,我找到了文本ctrl的信息,它是这样的:
textctrl->SetFocus();
textctrl->ShowNativeCaret(false);
但我没有找到有关RichTextCtrl框的有用信息
此外,我尝试将光标设置为空白光标,但它对我不起作用
window->SetCursor(wxCursor(wxCURSOR_WAIT));
有什么想法吗?
提前致谢
答案 0 :(得分:1)
wxTextCtrl::ShowNativeCaret()
仅在Windows上实施,只使用原生API ShowCaret()
和HideCaret()
。
您可以通过挂钩设置焦点事件轻松复制wxRichTextCtrl
:
richTextCtrl->Bind(wxEVT_SET_FOCUS, [richTextCtrl](wxFocusEvent&) {
HideCaret(richTextCtrl->GetHWND());
});
(或者如果您的编译器还不支持C ++ 11 lambdas,请使用成员函数。有关详细信息,请参阅"动态事件处理"章节here。)