如何在TRICHEDIT内屏蔽Ctrl+Enter(35分)

  • 主题发起人 主题发起人 mafan
  • 开始时间 开始时间
M

mafan

Unregistered / Unconfirmed
GUEST, unregistred user!
好象KEY=0不管用
 
procedure TForm1.RichEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if key in [#13,#10] then key:=#0;
end;

Ctrl+Enter //键值为10;
 
为什么在ONKEYDOWN的事件中不起作用,我希望最好在ONKEYDOWN里解决,不知可否?
 
可以自定义消息来解决
 
执行次序时
OnKeyDown OnKeyPress
在OnKeyDown把Key改为0;但在OnKeyPress Key还是原来的Key;
你可以在程序跟踪看看。这个问题最好在OnKeyPress,
复杂点可以自定义消息。
 
if (Key=vk_return)and(Shift=[ssctrl]) then
key:=VK_BACK;
 
menxin你有没有测试的啊?
 
这么简单,你试试不就知道了,呵呵
 
我就试了,发现有一个很大的BUG。从BUG中可以明显看到你没测试。
 
呵呵,你怎么试的,你按CTRL了吗?
 
procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=vk_return)and(Shift=[ssctrl]) then
key:=VK_BACK;

end;
 
不好意思,确实有BUG。再改改
 
接受答案了.
 
后退
顶部