如何禁用FMX组合框鼠标滚轮滚动



悬停在FMX TComboBox上时,如何禁用鼠标滚轮滚动?我尝试过重写MouseWheel方法,但没有遇到任何问题。我很可能做错了,因为我没有压倒一切的经验。参考:鼠标滚轮

我已经删除了Inherited:

type
TComboBoxOverride = class(TComboBox)
procedure MouseWheel(Shift: TShiftState; WheelDelta: Integer; var Handled: Boolean); override;
end;
// I've tried changing the control on the class overriding the method. No luck
cbbServerMap: TComboBoxOverride;
{ TComboBoxOverride }
procedure TComboBoxOverride.MouseWheel(Shift: TShiftState; WheelDelta: Integer;
var Handled: Boolean);
begin
Handled := True;
end;

我找到了以下VCL和DevEx的SO帖子,但我很难将其转换为FMX,参考:如何在TcxComboBox中抑制鼠标滚轮

TCustomComboBox.MouseWheel方法上设置断点时,我可以看到它忽略了我的覆盖。

OnMouseWheel事件中,只需放入Abort;

例如:

procedure TfrmMinorInjury.cboDischargetypeMouseWheel(Sender: TObject;
Shift: TShiftState; WheelDelta: Integer; var Handled: Boolean);
begin
Abort;
end;

我解决了同样的任务,但在滚动框中有备忘录
我的解决方案是

  1. 在滚动框中处理鼠标滚轮。鼠标滚轮上。设置Handle:=true
  2. 直接调用滚动框。备忘录的OnMouseWheel中的OnMouse Wheel

相关内容

  • 没有找到相关文章

最新更新