2011-05-31 26 views
0

该控件需要能够在多行上绘制文本,响应点击URL或@user标签等,这些标签需要具有不同的颜色才能脱颖而出。为了使用winapi显示推文,我可以选择哪种最佳控件?

第一个明显的选择是一个Richedit控件,但我遇到了很多问题。首先,我希望文本是不可选择的,并且要禁用输入。后者很容易,但我发现禁止选择文本的唯一方法是禁用该控件。在这种情况下,我无法弄清楚如何将背景颜色从默认灰色更改为白色。另外,当禁用控件时,我从Richedit免费获得的所有可单击链接功能都停止工作。

你会说我的选择是什么?我非常谨慎地尝试使用TextOut来实现自己的控制。这可能会让我想哭。

编辑: 到现在为止我没有考虑允许用户选择文本作为选项,所以只读模式似乎没有用。我就这样计划了我的脑海。我绝对不希望有一个闪烁的插入符号,所以我捅了一跤,发现我可以在RichEdit的WM_SETFOCUS上调用HideCaret(通过继承它)并返回0.这样就消除了插入符号的好处。具有讽刺意味的是,这也摆脱了用鼠标选择任何东西的能力,这几乎就是我首先希望的行为。我不知道我是否完全反对禁止选择。我会回到那个。现在剩下的就是确定是否可以覆盖游标悬停在文本上时光标图像的行为。

回答

2

你可以使用Webbrowser control,只是建立显示你想要的HTML。

+0

我一直希望避免增加对Internet Explorer的依赖,但我一定会牢记这一点。谢谢。 – eeyore22 2011-05-31 02:13:34

0

我讨厌禁用控件的选项,为什么不让我有权选择要复制的文本的一部分。

无论如何,你可以设置颜色接近白色FEFEFE它应该工作,只是不纯白色。

RichEdit控件没有“只读”模式,将停止输入,但让选择文本并单击链接。

+0

您的评论让我尝试了几件事。我编辑了我原来的文章,因为在这里写太长了。谢谢! – eeyore22 2011-05-31 04:15:31

相关问题