我试图做到:空用Ctrl一个TMemo + Enter键
- 用户输入文本到TMemo箱
- 如果他们按Enter键创建一个新行
- 如果他们按按Ctrl +输入它移动文本到另一个框,并清空TMemo
我使用这个代码[的KeyPreview为True]:
procedure TFMsg.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (Shift = [ssCtrl]) and (Key = $0D) then
begin
Key := 0;
btnSendClick(Sender); //this moves the text and empties the TMemo box
end;
end;
什么是实际发生的事情:
- 按Ctrl + 输入发送文本到其他盒子
- 的TMemo清空,但似乎接受了回车键,光标位于闪烁第二行
任何帮助感激地收到。谢谢!
非常棒,谢谢。除了任何人试图类似之外,Ctrl + Enter不是Object Inspector中的默认选项之一。 FormCreate中的这一行手动添加它:'Action1.ShortCut:= ShortCut($ 0D,[ssCtrl])'。 –