diff --git a/lcl/interfaces/cocoa/cocoatextedits.pas b/lcl/interfaces/cocoa/cocoatextedits.pas index 069bef7e47..5b1eb11edf 100644 --- a/lcl/interfaces/cocoa/cocoatextedits.pas +++ b/lcl/interfaces/cocoa/cocoatextedits.pas @@ -79,6 +79,7 @@ type procedure otherMouseUp(event: NSEvent); override; procedure mouseDragged(event: NSEvent); override; procedure mouseMoved(event: NSEvent); override; + procedure scrollWheel(event: NSEvent); override; procedure lclSetMaxLength(amax: integer); end; @@ -104,6 +105,7 @@ type procedure otherMouseUp(event: NSEvent); override; procedure mouseDragged(event: NSEvent); override; procedure mouseMoved(event: NSEvent); override; + procedure scrollWheel(event: NSEvent); override; procedure lclSetMaxLength(amax: integer); end; @@ -185,6 +187,7 @@ type procedure otherMouseUp(event: NSEvent); override; procedure mouseDragged(event: NSEvent); override; procedure mouseMoved(event: NSEvent); override; + procedure scrollWheel(event: NSEvent); override; end; const @@ -429,7 +432,6 @@ type procedure otherMouseDragged(event: NSEvent); override; procedure mouseDragged(event: NSEvent); override; procedure mouseMoved(event: NSEvent); override; - procedure scrollWheel(event: NSEvent); override; end; {$ENDIF} @@ -902,6 +904,19 @@ begin inherited mouseMoved(event); end; +procedure TCocoaFieldEditor.scrollWheel(event: NSEvent); +var + v : NSView; +begin + v := GetEditBox(Self); + if Assigned(v) then + begin + if Assigned(v.lclGetCallback) and not v.lclGetCallback.scrollWheel(event) then + inherited mouseMoved(event); + end else + inherited scrollWheel(event); +end; + { TCocoaTextField } function TCocoaTextField.acceptsFirstResponder: LCLObjCBoolean; @@ -991,6 +1006,12 @@ begin inherited mouseMoved(event); end; +procedure TCocoaTextField.scrollWheel(event: NSEvent); +begin + if Assigned(callback) and not callback.scrollWheel(event) then + inherited scrollWheel(event); +end; + procedure TCocoaTextField.lclSetMaxLength(amax: integer); begin maxLength := amax; @@ -1251,6 +1272,12 @@ begin inherited mouseMoved(event); end; +procedure TCocoaSecureTextField.scrollWheel(event: NSEvent); +begin + if Assigned(callback) and not callback.scrollWheel(event) then + inherited scrollWheel(event); +end; + procedure TCocoaSecureTextField.lclSetMaxLength(amax: integer); begin MaxLength := amax; @@ -2159,12 +2186,6 @@ begin inherited mouseMoved(event); end; -procedure TCocoaSpinEdit.scrollWheel(event: NSEvent); -begin - if not Assigned(callback) or not callback.scrollWheel(event) then - inherited scrollWheel(event); -end; - {$ENDIF} end.