我用了回车使控件一步一步往下,可是Memo框内却不能回车了,怎么办啊?

kerisyml 2007-08-22 11:28:43
我设置form的keypreview为true,设置form1的OnKeyPress为
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end;

这样以后,我界面上每个空间都可以按回车一步一步输入了,可是在memo框中,却不能回车了,怎么解决呢?


既要保持回车一步一步的功能,又要memo的回车能换行,该怎么办呢?
...全文
95 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kerisyml 2007-08-22
  • 打赏
  • 举报
回复
我知道多行编辑。
问题是我的memo初始化显示有很多行文字。有时候需对其中一行下面加上一行,就需要用回车了,可这时候回车不能用,怎么办呢?
whisht 2007-08-22
  • 打赏
  • 举报
回复
memo是多行编辑
天行归来 2007-08-22
  • 打赏
  • 举报
回复
procedure TBaseWin.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if not (Sender is TMemo) then
begin
if ((Key = VK_DOWN) or (Key = VK_RETURN)) then Perform(WM_NEXTDLGCTL, 0, 0)
else if (Key = VK_UP) then Perform(WM_NEXTDLGCTL, 1, 0);
end;
end;
lvloj 2007-08-22
  • 打赏
  • 举报
回复
if key=#13 then
begin
key:=#0;
if ActiveControl <> Memo1 then
perform(WM_NEXTDLGCTL,0,0);
end;
sunware 2007-08-22
  • 打赏
  • 举报
回复
你的MEMO是不是不需要多行编辑?如果需要多行,那你对回车的定义就产生岐义了.

你可以试把焦点转移的键改为Ctrl+Enter或Alt+Enter.

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧