我有一个使用TCombobox的多个表单的项目,我想在聚焦的组合框收到返回笔划时删除默认行为:
在TCustomCombobox的 Keydown 中:
vkF4, vkReturn:
DropDown;
问:我如何删除所有表单的功能?
创建一个覆盖它的新自定义控件意味着要重新创建所有组合框。
A:制作“冒名顶替”子类:
发现了一个重复的问题:Delphi subclass visual component and use it
我将此代码放在一个单元中,并将该单元放在我的表单的界面/用途中。
TCombobox = class(FMX.ListBox.TComboBox)
protected
procedure KeyDown(var Key: Word; var KeyChar: System.WideChar; Shift: TShiftState);override;
end;
procedure TCombobox.KeyDown(var Key: Word; var KeyChar: System.WideChar;
Shift: TShiftState);
begin
if key=vkReturn then exit;
inherited;
end;