[已解决]在RichEditCtrl中设置自定义插入记号 [英] [Solved] Setting custom caret in RichEditCtrl

查看:92
本文介绍了[已解决]在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆