我有一个继承自 TEdit 的自定义类:
TMyTextEdit = class (TEdit)
private
fFocusNextOnEnter: Boolean;
public
procedure KeyUp(var Key: Word; Shift :TShiftState); override;
published
property FocusNextOnExnter: Boolean read fFocusNextOnEnter
write fFocusNextOnEnter default false;
end;
在KeyUp过程中,我执行以下操作:
procedure TMyTextEdit.KeyUp(var Key: Word; Shift: TShiftState);
begin
inherited;
if FocusNextOnExnter then
if Key = VK_RETURN then
SelectNext(Self as TWinControl, True, false);
end;
但是它没有将焦点移动到下一个控件。我试过
if Key = VK_RETURN then
Key := VK_TAB;
但它也没有起作用。我错过了什么吗?
TabOrder
和TabStop
属性移动到下一个控件。 - Ondrej KelleTrue
作为最后一个参数(CheckTabStop
)传递。 - Ondrej Kelle