Теперь есть два способа сделать это, я приведу ниже способ, которым пользуюсь я. У меня нет исходного кода VCL, поэтому я не берусь судить что лучше. Могу только предположить, что эта работа, выполненная с помощью VCL будет немного удобнее.
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; procedure TThing.MouseDown... begin {Не координаты мыши в некотором private-свойстве} inherited MouseDown... end; procedure TThing.Click begin if YourHitTest(X,Y) then inherited Click; end; |
Я немного сомневаюсь в последней процедуре, но это будет работать. Я думаю, из читающих этот совет найдется немало людей, которые могут предоставить более изящное решение. [001943]