[Lazarus] LCLMessageGlue Status
Andrew Haines
andrewd207 at aol.com
Mon Mar 16 18:06:38 CET 2015
On 10/31/2014 04:14 PM, Fabio Luis Girardi wrote:
> Hello!!
>
> I'm doing a virtual keyboard for lazarus using the LCLMessageGlue
> unit, but methods
> LCLSendKeyUpEvent and LCLSendKeyDownEvent are not working.
>
> So, what's the current status of LCLMessageGlue unit?
> --
> The best regards,
>
> Fabio Luis Girardi
> PascalSCADA Project
> http://sourceforge.net/projects/pascalscada
> http://www.pascalscada.com
>
Sorry for the late reply. I stumbled on this question in a google search.
SHORT VERSION:
Methods in LCLMessageGlue are not intended for nor should they be used
directly in user programs or the results could be unexpected.
LONG VERSION:
The LCLMessageGlue unit is only meant to simplify sending messages to
the lcl as the result of an actual change in the underlying
widgetset(gtk, qt win32, etc). Using the methods directly in your
program won't actually cause a change but will probably trigger the
event for the message you send.
For instance if you used LCLSendClickedMsg(MyButton) the OnClick event
would be triggered but the button would not visibly react.
Using LCLSendKey[Up/Down]Event won't work the way you want because the
widgetset (gtk, qt, win32, etc) is actually managing the text content of
the component. i.e. the LCL isn't doing Text:=Text+NewChar for every
keypress event, the widgeset is responsible for that. Exceptions to this
could be custom controls implemented fully in the LCL like TTreeView and
TSynEdit.
Regards,
Andrew Haines
More information about the Lazarus
mailing list