[已解决]在RichEditCtrl中设置自定义插入记号 [英] [Solved] Setting custom caret in RichEditCtrl
本文介绍了[已解决]在RichEditCtrl中设置自定义插入记号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
亲爱的所有人
如何将自定义插入符号设置为CRichEditCtrl;
我已经在EN_SETFOCUS通知中尝试过,它对于正常的编辑控件工作正常,但是在Rich Edit插入符号中,键入
后会恢复正常
谢谢
更新:
由OP自己解决,并将解决方案作为答案发布.
Dear All
How to set custom caret to CRichEditCtrl;
I have tried in EN_SETFOCUS notification, it is working fine for normal edit controls, but in Rich edit caret will be back to normal while typing
Thanks
UPDATE:
Solved by OP himself and posted the solution as an answer.
推荐答案
获得解决方案
更新有关插入符号更改插入消息的消息的插入符号
Got a solution
update the Caret on messages that change caret painting
// Handling EN_SETFOCUS notification
// ON_CONTROL_REFLECT_EX(EN_SETFOCUS, OnEnSetFocus)
BOOL RichEditEx2::OnEnSetFocus()
{
UpdateCaret();
return FALSE;
}
// WindowProc overrides
LRESULT RichEditEx2::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
switch( message)
{
case WM_CHAR:
case WM_UNICHAR:
case WM_KEYDOWN:
case WM_KEYUP:
case WM_LBUTTONDOWN:
case WM_LBUTTONUP:
case WM_INPUTLANGCHANGE:
case WM_IME_COMPOSITION:
case WM_HSCROLL:
case WM_VSCROLL:
{
LRESULT lResult = CRichEditCtrl::WindowProc(message, wParam, lParam);
// Update Caret display.
UpdateCaret();
return lResult;
}
default:
break;
}
return CRichEditCtrl::WindowProc(message, wParam, lParam);
}
这篇关于[已解决]在RichEditCtrl中设置自定义插入记号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文