首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RichEdit控件中的字符间距

RichEdit控件中的字符间距
EN

Stack Overflow用户
提问于 2012-06-08 21:02:21
回答 2查看 571关注 0票数 0

如何更改RichEdit控件中的字符间距?

我曾尝试使用CHARFORMAT结构,但正如MSDN所说,sSpacing在RichEdit控制中是无用的。此外,SetTextExtra函数在该控件的hdc中也是无用的。

并尝试使用该控件的ole接口,ITextFont接口的SetSpace函数,效果不佳。

有人能帮我吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2012-06-08 22:07:07

如果您指的是单个字符之间的字符间距,我不确定您是否可以做些什么。如果您正在讨论行之间的间距,那么请使用PARAFORMAT结构和EM_SETPARAFORMAT消息。

票数 0
EN

Stack Overflow用户

发布于 2019-03-29 07:03:45

绝对可以在Windows10中使用RichEdit v8.5。

确保您使用的是Windows类"RICHEDIT50W" (来自MsftEdit.dll),而不是"RichEdit20W"类(来自Riched32.dll):

代码语言:javascript
复制
//Get the ITextDocument interface of the RichEdit control
IUnknown re;
if (SendMessage(RichEdit1.Handle, EM_GetOleInterface, 0, ref (LPARAM)re) == 0)
   throw new Exception("Could not get ITextDocument from RichEdit");
ITextDocument doc = re as ITextDocument;

//Increase spacing (positive is expanded)
Single spacing = doc.Selection.Font.Spacing;
spacing += 1;
doc.Selection.Font.Spacing = spacing;

//Decrease spacing (negative is compressed)
spacing = doc.Selection.Font.Spacing;
spacing -= 1;
doc.Selection.Font.Spacing = spacing;

//Reset to normal spacing
doc.Selection.Font.Spacing = 0;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10949400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档