[Lazarus] wince - system.ppu
thiel at mikro.ee.tu-berlin.de
thiel at mikro.ee.tu-berlin.de
Tue Oct 28 07:47:26 CET 2008
Hi Martin
> This is probably cross all OS. I am not sure what the intended
> behaviour is.
>
> I guess that it is correct to take the action on Mouse-up, but it may be
> sensible to limit it on cases where ctrl was hold down during the
> mouse-down event. IMHO in that case, you could either say:
> - if ctrl was down during mouse-down, then mouse-up should trigger the
> jump, independent of ctrl still being pressed or not
> - if ctrl was down during mouse-down, then mouse-up will jump, if ctrl
> is still pressed, and was not released in between.
> But maybe it can/should be done on MouseDown, but I don't know what
> opuld happen, if you end up in the new unit, with the mouse button still
> down?
>
> Maybe others have ideas too, also you may wish to discuss this with the
> Lazarus team them self, if such a change would be accepted. Mattias
> would be probably be a good contact for this. Maybe he will pick up on
> this mail?
>
> Implementing any change to this, should be straight forward, as all
> Mouse/Key-Up/Down handlers are in synedit.pp
> Search for "CtrlMouse" and look at SynEditMarkupCtrlMouseLink.pp
> (responsible for the underlining of the link), that should point you to
> all other places of interest.
I just had a look for the 'CtrlMouse' thing and found that the source
code is already correct (basically). The only thing that seems to be
wrong is that the GetKeyShiftState doesn't contain any info about the
mouse buttons.
So 'ssLeft in GetKeyShiftState' is always false. Thus the query for
GetKeyShiftState to distinguish, whether the mouse is pressed or not
fail and so the whole thing got triggered wrong.
Is this a known issue (or even feature?) of the LCL?
Any hints appretiated,
Christian
More information about the Lazarus
mailing list