On 04.11.2015 17:54, Martin Grajcar wrote:
I'd like to forward a TLMVScroll message to the parent component as a workaround for controls preventing parents from receiving mouse wheel events (I couldn't find out how to let the parents receive them).

The problem is that the handler is

PROCEDURE TWhatever.WMVScroll(VAR Message : TLMVScroll);

and I need to put it in

FUNCTION SendMessage(HandleWnd: HWND; Msg: Cardinal; WParam: WParam; LParam: LParam): LResult;

Or am I missing a more suitable procedure? Why is there no

SendMessage(Message : TLMVScroll);

which would do exactly this?

There is TControl.WndProc, but don't call it directly if you don't know what and why you are doing it.

My workaround is to scroll manually, like

TScrollingWinControl(Parent).ScrollBy (0, ScrollAmount);

but this feels stupid as it duplicates the ScrollAmount computation.

AFAIK forwarding of messages works only on Windows, so if you need it cross-platform, you will have to use "TScrollingWinControl(Parent).ScrollBy (0, ScrollAmount);" in any case. So this should be the correct way to do it. - Zeljko, correct me if I am wrong, you are the specialist here :)

Ondrej
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to