【发布时间】:2019-10-25 22:40:50
【问题描述】:
我正在 Windows 窗体中开发一个文本编辑器,为此我使用 RichTextBox 小部件。我遇到了一个问题,在选择不同的样式文本块时,选择将返回一个空值,这阻止了我,让我们说,更改具有verdana部分和arial的文本的大小。
为了解决这个问题,我创建了一个新类来操作 CHARFORMAT 结构,并根据我想要更改的样式发送消息。现在我需要创建一个函数来改变用户选择的字体颜色。为此,我需要 CFM_COLOR 标签,我不知道它是什么,而且我似乎无法在任何地方找到它。
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public Color SelectionFontColor
{
set
{
CHARFORMAT cf = new CHARFORMAT();
cf.cbSize = Marshal.SizeOf(cf);
cf.dwMask = CFM_COLOR;
// There might be some missing code
???
SendMessage(Handle, EM_SETCHARFORMAT, SCF_SELECTION, ref cf);
}
}
【问题讨论】:
标签: c# colors richtextbox windows-forms-designer