加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

如何在Rich Edit控件(Win32 / C)中更改下划线颜色

发布时间:2020-12-14 01:47:41 所属栏目:Windows 来源:网络整理
导读:我正在寻找一种方法在Rich Edit控件中制作红色波浪形下划线(我使用的是带有Msftedit.dll的4.1版本).我可以使用以下代码生成波浪形下划线: CHARFORMAT2 format;format.cbSize = sizeof(format);format.dwMask = CFM_UNDERLINETYPE;format.bUnderlineType = C
我正在寻找一种方法在Rich Edit控件中制作红色波浪形下划线(我使用的是带有Msftedit.dll的4.1版本).我可以使用以下代码生成波浪形下划线:
CHARFORMAT2 format;
format.cbSize = sizeof(format);
format.dwMask = CFM_UNDERLINETYPE;
format.bUnderlineType = CFU_UNDERLINEWAVE;
SendMessage(hWndEdit,EM_SETCHARFORMAT,SCF_SELECTION,(LPARAM)&format);

MSDN文档未指定如何更改下划线的颜色,仅指定文本(带下划线)和文本背景.我发现一些代码表示使用低位半字节用于下划线类型(CFU_UNDERLINEWAVE)而上层用于颜色.所以我试过了:

format.bUnderlineType = CFU_UNDERLINEWAVE | 0x50;

但这不起作用.

UPDATE

我用3.0版本(Riched20.dll)测试了这段代码,它正在运行.所以问题在于4.1.该功能是否已移除或移至其他位置?

它也不适用于版本6(office 2007使用的dll).

很抱歉这样说,但是如果Microsoft没有记录更改下划线的颜色,则不应使用它.像这样的未记录的特征将在以后的版本中被删除,这可能发生在这里.

你最好的办法就是问问微软.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读