[Lazarus] TStringGrid and cancelling a modal form
José Mejuto
joshyfun at gmail.com
Tue Mar 13 09:56:27 CET 2018
El 13/03/2018 a las 9:21, Mark Morgan Lloyd via Lazarus escribió:
>>> Yes, the modal form appears while the mouse button is held down (for
>>> both GTK2 and Qt).
>>>
>>
>> So, yes, seem that grid expects mouseup
>
> Is there a portable way this can be sent? Otherwise I presume I could
> fudge it with something like QueueAsyncCall()... unless that also went
> through before the mouse activity was sorted out.
>
> I'm fairly keen to hack this in such a way that it's not tied to one
> version of the LCL since I want this program to be fairly easy to build
> even for people with an old (or no existing) copy of Lazarus etc.
Hello,
I think the proper solution is to instruct GTK2 to use the MOUSE_UP
event, but meanwhile QueueAsyncCall will not be the solution as when the
AsyncCall will be processed grid will be still waiting for MOUSE_UP, so
my solution would be add a MOUSE_UP and MOUSE_DOWN handlers, something
like this in pseudo code:
MOUSE_DOWN:
SelectChanged:=false;
ON_SELECT:
SelectChanged:=true;
MOUSE_UP:
if SelectChanged then Form.ShowModal();
--
More information about the Lazarus
mailing list