- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想在指定了 ES_READONLY
样式的 RichEdit(50W) 中隐藏插入符号。当插入符闪烁且用户无法输入时,这对用户来说非常困惑。
我试图使用 HideCaret() 隐藏插入符号功能,
但是它不适用于以下代码:
LRESULT CALLBACK ChatMessaegsSubclassProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) // Subclassed control
{
LRESULT ret = CallWindowProc(WndProc_ChatMessages, hwnd, msg, wParam, lParam);
switch(msg)
{
//Also tried with EN_SETFOCUS
case WM_SETFOCUS:
{
ret = CallWindowProc(WndProc_ChatMessages, hwnd, msg, wParam, lParam);
HideCaret(ChatMessages); //Returns 5 (Access denied.)
break;
}
//According the documentation:
//If your application calls HideCaret five times in a row,
//it must also call ShowCaret five times before the caret is displayed.
case WM_KILLFOCUS: //The message is called when the RichEdit get focus, however nothing happens.
{
ret = CallWindowProc(WndProc_ChatMessages, hwnd, msg, wParam, lParam);
ShowCaret(ChatMessages);
break;
}
}
return ret;
}
最佳答案
解决方法如下:
LRESULT CALLBACK ChatMessaegsSubclassProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
LRESULT ret = CallWindowProc(WndProc_ChatMessages, hwnd, msg, wParam, lParam);
switch(msg)
{
case WM_LBUTTONDOWN:
{
HideCaret(ChatMessages);
break;
}
case WM_KILLFOCUS:
{
ShowCaret(ChatMessages);
break;
}
}
return ret;
}
注意 这仅在用户使用鼠标引导焦点时有效。因此,如果有人知道如何正确处理它,请随时回答,我会很高兴。
关于c++ - 在 RichEdit winapi 中隐藏插入符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32896767/
我有一个包含源代码的 TRichEdit 控件。我想设置单行的背景颜色。 我知道如何设置文本 颜色,但是否也可以设置背景颜色?我不是在谈论整个控件的整个背景颜色,我只是在谈论如何更改一行。 我真的必须
我正在将文本从delphi TRichedit 控件输出到打印机。有一个背景图像,所以我使用具有此逻辑的 EM_FORMATRANGE ... myrichedit.Perform(EM_FORMAT
我创建一个新应用程序,放置 TRichedit 并将 PlainText 属性设置为 true。然后,我运行该应用程序并将一些富格式文本粘贴到 RichEdit 中。 我希望它显示为纯文本,但它会显示
添加一行后,我需要将 RichEdit 滚动到最后。我有一个单独的形式的 RichEdit,我根本不想获得焦点。我尝试了经常建议的解决方案: RichEdit.Lines.Add(someText);
(如果您能更好地理解和定义我的问题,请有人编辑标题。) 我遇到的问题是 RichEdit 的样式格式“恢复”回默认的“无”又名 [],然后返回到我设置的任何内容,粗体或斜体示例。 问题所在 - 我认为
RichEdit 控件在成为其他控件的父控件时停止绘制文本。 这是一个功能还是一个错误?是否可以使 RichEdit 成为其他控件的父控件? 查看下一个应用: -- Form1.dfm --- obj
我希望 RichEdit 处理超链接,因此我按照以下说明进行操作:http://delphi.about.com/od/vclusing/l/aa111803a.htm 以下是我对代码所做的更改: i
当我使用多个 RichEdit 控件时,我的行为非常奇怪: LoadLibrary("Msftedit.dll"); RichEdit = CreateWindow("RICHEDIT50W", ""
我想向 RichEdit 控件添加彩色文本行。但我面临的问题是颜色变化不仅限于我选择的文本。我所做的是: 获取当前光标位置 -> 插入文本 -> 获取光标位置 -> 选择范围 -> 为其着色 -> 取
我需要你的帮助!所以,我正在创建一个带有语法高亮器的 RichEdit,我是这样做的: SendMessage(hWin, WM_SETREDRAW, false, 0);
有人知道是否有类似 Memo/RichEdit 的东西吗?需求:对行进行编号,从流中加载大文件(超过 5 MB)。 最佳答案 Developer Express有一套广泛的 VCL 组件,其中包括一个
如何在 RichEdit 中将某一特定行加粗? 最佳答案 丰富的编辑控件中的格式设置如下: 选择要应用格式的文本。 将该格式应用于所选内容。 事情是这样的: RichEdit1.SelStart :=
我有一个 Richedit,允许我的用户格式化和查看我的应用程序中显示的错误消息。 我现在需要能够仅将文本(无格式)导出到他们的故障单系统使用的另一个数据库。 我已经尝试了所有我能想到的纯文本组合,但
我以前从来不需要使用 TRichEdit,一直使用 TMemo。 当我添加 TMemo 等文本时,我希望 RichEdit 自动滚动到末尾。看看添加一些数据后的样子: 如您所见,滚动条保留在顶部,但我
我在计算 Richedit (Delphi XE) 中的字符数时遇到问题。对于每一个新行,我都会多得到两个字符,但在文本中它们不存在。 示例:这里有 15 个字符,但由于换行,richedit 给出了
我试图在 RichEdit 中保存然后恢复垂直滚动位置。 存储滚动位置的全局变量: SI: TScrollInfo; 此代码保存滚动位置: FillChar( SI, SizeOf(SI), #0 )
Delphi 中的大多数 TWinControl 后代都有一个重写方法 CreateParams 来定义它的子类,例如:'EDIT'、'COMBOBOX'、'BUTTON'、'RICHEDIT' 等。
如果您在 Richedit 中加载一些文本,然后单击鼠标左键 + 移动鼠标滚轮,文本将放大或缩小,而不会丢失文本大小格式。 是否有一种简单的方法可以通过几行代码来实现此功能(放大/缩小)? 谢谢 射线
我试图在 RichEdit 中保存然后恢复垂直滚动位置。 存储滚动位置的全局变量: SI: TScrollInfo; 此代码保存滚动位置: FillChar( SI, SizeOf(SI), #0 )
我有一个 TRichEdit。当我选择一些文本并单击另一个元素时,所选文本的选择消失。有没有办法保持这个选择,当 TRichEdit 失去它的焦点时?谢谢! 最佳答案 TRichEdit 有一个属性H
我是一名优秀的程序员,十分优秀!