我在richedit的onkeydown事件中使用Ctrl+Enter组合键清空,如下如示:
procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=13)and(ssCtrl in shift)then
self.RichEdit1.Clear;
end;
结果却发现,清空后,为两空行,光标始终在第二行的位置,我想全部清空,光标移动最动最开始的位置,同时不要什么空行,该怎么做?
procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=13)and(ssCtrl in shift)then
self.RichEdit1.Clear;
end;
结果却发现,清空后,为两空行,光标始终在第二行的位置,我想全部清空,光标移动最动最开始的位置,同时不要什么空行,该怎么做?
解决方案 »
- 多线程传递参数问题
- webbrowser占用大量内存以及无法将程序隐藏的疑问求解
- 高手们帮帮忙?
- 如何使弹出的表单在点击的位置弹出
- delphi 窗口问题
- 我装的delphi6,在编译form时,怎么左上角那个小图标不见了???
- 请各位高手帮忙: 怎样得到CPU的利用率!在线等等......
- 哪位兄弟做过文档扫描/OCR方面的开发?
- 使用80端口文件上传,如何将其封装成ActiveX Control?以在网页中使用
- 请教两个菜鸟问题
- 一个菜鸟问题,在无源代码,无源程序的情况下更改程序的启动画面
- 关于错误:Access violation at address 0000634D,Read of address 0000634D
procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=13)and(ssCtrl in shift)then
self.RichEdit1.Clear;
end;
结果却发现,清空后,为两空行,光标始终在第二行的位置,我想全部清空,光标移动到最开始的位置,同时不要什么空行,该怎么做?
procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_RETURN:
if ssCtrl in Shift then
begin
{ TODO }
TRichEdit(Sender).Clear;
end;
end;
end;procedure TForm1.RichEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if GetKeyState(VK_CONTROL) and $8000 = $8000 then
Key := #0;
end;
你好,您的第二过程可以实现,第一个不行,我现在还想问一个问题,怎么把font.style属性存入字符串和从字符串中恢复