为了使用 winapi 显示推文,我可以选择的最佳控件是啥?

Posted

技术标签:

【中文标题】为了使用 winapi 显示推文,我可以选择的最佳控件是啥?【英文标题】:What is the best control I can pick in order to display a tweet using winapi?为了使用 winapi 显示推文,我可以选择的最佳控件是什么? 【发布时间】:2011-05-31 02:04:18 【问题描述】:

控件需要能够在多行上绘制文本,响应对 URL 或@user 标签的点击等,这些需要具有不同的颜色才能脱颖而出。

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

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

编辑: 直到现在我还没有考虑让用户选择文本作为选项,所以只读模式似乎没有用。我只是这样计划的。我绝对希望没有闪烁的插入符号,所以我四处寻找,发现我可以在 Richedit 的 WM_SETFOCUS 上调用 HideCaret(通过对其进行子类化)并返回 0。这样就永远摆脱了插入符号。具有讽刺意味的是,这也摆脱了用鼠标选择任何东西的能力,这几乎正是我最初希望的行为。我不知道我是否完全反对不允许选择。我会回到那个。现在剩下的就是弄清楚我是否可以覆盖鼠标悬停在文本上时更改的光标图像的行为。

【问题讨论】:

【参考方案1】:

您可以使用 Webbrowser control 并构建显示您想要的内容的 html

【讨论】:

我希望避免添加对 Internet Explorer 的依赖,但我一定会牢记这一点。谢谢。【参考方案2】:

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

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

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

【讨论】:

您的评论让我尝试了几件事。我对我的原始帖子进行了编辑,因为这里写得太长了。谢谢!

以上是关于为了使用 winapi 显示推文,我可以选择的最佳控件是啥?的主要内容,如果未能解决你的问题,请参考以下文章

使用Swift IOS获取推文

将显示设置更改为重复的 WinAPI 函数

使用 WinAPI 创建具有透明背景的文本标签

无法使用 WinAPI 显示窗口

保存电池寿命的最佳背景颜色是什么?

WinAPI ComboBox 不显示下拉列表