我使用来自TMS的TAdvGlowButton
按钮控件,默认情况下,它会在Down
上将MouseDown
属性设置为true。我希望能够在需要时阻止将此属性设置为True。
MouseDown上的执行流程在类的MouseDown过程中启动:
procedure TAdvCustomGlowButton.MouseDown(Button: TMouseButton; Shift: TShiftState; X,
Y: Integer);
...
begin
inherited; // Calls my local OnMouseDown method
... // <- I would like to skip/cancel/stop execution after inherited call, so it never gets to Down := True line
Down = True;
...
end;
我的本地按钮OnMouseDown:
procedure TForm1.AdvGlowButton1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ShowMessage('Local Mouse Down');
if True then
AdvGlowButton1.OnMouseDown:=nil; //<- I would like to stop execution
end;
我尝试将OnMouseDown设置为nil,但这并不起作用,执行流程会返回到MouseDown并继续运行。
如果可能的话,我想避免改变原始课程中的任何内容。
有没有办法在原始继承的呼叫后停止/中止/取消进一步执行?