[Lazarus] TStringGrid and cancelling a modal form

Mark Morgan Lloyd markMLl.lazarus at telemetry.co.uk
Tue Mar 13 09:21:31 CET 2018


On 13/03/18 08:00, zeljko wrote:
> On 03/12/2018 08:05 PM, Mark Morgan Lloyd via Lazarus wrote:
>> On 12/03/18 17:45, José Mejuto via Lazarus wrote:
>>> El 12/03/2018 a las 18:25, Mark Morgan Lloyd via Lazarus escribió:> 
>>
>>> On the main form I've got (a tabbed notebook containing multiple > 
>>> instances of) a TStringGrid. The OnSelection event invokes a modal 
>>> form > (containing nothing of significant complexity) with OK and 
>>> Cancel > buttons, and stripped down looks like this:
>>> Hello,
>>> Just for testing the OnSelection is raised by mouse click ? If the 
>>> answer is yes, try to click the cell and keep the mouse button 
>>> pressed. If the form appears the grid is still waiting for a MOUSE_UP 
>>> (thinking you are holding MOUSE_DOWN to perform a selection) and the 
>>> modal form has its own queue, so MOUSE_UP never arrives.
>>
>> 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.

-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]


More information about the Lazarus mailing list