Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows RichEdit20A行选择模式类似于记事本_Windows_Winapi_Controls - Fatal编程技术网

Windows RichEdit20A行选择模式类似于记事本

Windows RichEdit20A行选择模式类似于记事本,windows,winapi,controls,Windows,Winapi,Controls,我试图改变Windows控件选择行的方式,使其类似于记事本中的工作方式 默认情况下,如果我选择一行(例如Shift End),则所有字符和行尾都将被选中: Sample text ^^^^^^^^^^^^ <- this is the selection 因此,在RichEdit20A控件中按delete(或backspace)可删除该行,而在记事本中,它仅删除文本并保持该行为空 是否有任何简单的方法(除了自己处理选择)来配置RichEdit20A控件以保持格式,但使行选择像记事本一样工

我试图改变Windows控件选择行的方式,使其类似于记事本中的工作方式

默认情况下,如果我选择一行(例如Shift End),则所有字符和行尾都将被选中:

Sample text
^^^^^^^^^^^^ <- this is the selection
因此,在RichEdit20A控件中按delete(或backspace)可删除该行,而在记事本中,它仅删除文本并保持该行为空


是否有任何简单的方法(除了自己处理选择)来配置RichEdit20A控件以保持格式,但使行选择像记事本一样工作?

我不知道这样的设置会影响RTF控件。但按下Shift+End键是一个按键输入,当您对控件进行子类化时,可以使用
WM_KEYDOWN
处理程序捕获该按键输入

您可以使用带-1的
EM_LINEINDEX
来获取当前行开始索引

现在有了这个索引,您可以使用
EM\u LINELENGTH


获取当前选择(
EM_GESTEL
),现在您可以自由使用
EM_setel
,使用您想要扩展的值

我正在寻找一个只配置的解决方案,或者确认没有这样的设置。无论如何,谢谢。记事本不使用
RICHEDIT
控件(写字板使用),而是使用标准的多行
EDIT
控件。
Sample text
^^^^^^^^^^^