gpt4 book ai didi

delphi - RichEdit 中拦截 TAB 键

转载 作者:行者123 更新时间:2023-12-03 15:48:52 29 4
gpt4 key购买 nike

这里有很多类似的问题,但我找不到我的问题的答案。

我有一个 TRichEdit 并希望在用户按 Tab 时实现一些自定义行为。我将丰富编辑的 WantTabs 属性设置为 True 并尝试在 OnKeyDown 中添加我的自定义行为,效果很好,但不幸的是,此后“正常的”制表符行为也会被执行(在编辑中插入制表符)。我尝试在事件处理程序中将 Key 设置为 0,但这没有帮助。

如何防止执行“正常”选项卡行为?

最佳答案

改用OnKeyPress事件:

procedure TForm1.RichEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = chr(VK_TAB) then
begin
beep;
Key := #0;
end;
end;

或者,如果您确实需要使用 OnKeyDown 事件,只需删除按键消息即可:

procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
msg: TMsg;
begin
if Key = VK_TAB then
begin
beep;
while PeekMessage(msg, RichEdit1.Handle, WM_KEYFIRST, WM_KEYLAST,
PM_REMOVE) do;
end;
end;

关于delphi - RichEdit 中拦截 TAB 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7104006/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com