That will work  :)
but...
it *might* be simpler/ more efficient to use the On mouse enter/On 
mouse leave event for the listbox
and set a process variable, rather then run the mouse location code 
every time the On Column Resize event fires.

// object method - listbox
case of
 :(form event = On Mouse Enter)
    flag_Mouse_in_listbox:=true
 
 :(form event = On Mouse Leave)
    flag_Mouse_in_listbox:=false

  :(Form event = on Column Resize) & (flag_Mouse_in_listbox)
   // do whatever column size changes you are doing
 end case



On Fri, 5 Jan 2018 17:50:44 +0000, Piotr Chabot Stadhouders via 4D_Tech 
wrote:
> Hi,
> 
> Based on the tip op Chip (sounds nice😊), I have created a function 
> that can be used in the "On Column Resize" event:
> 
> 
> C_TEXT($listbox;$1)
> C_BOOLEAN($mouse_in_listbox;$0)
> $listbox:=$1
> 
> C_BOOLEAN($mouse_in_listbox)
> GET MOUSE($mouseX;$mouseY;$mouseButton)
> OBJECT GET COORDINATES(*;$listbox;$l;$t;$r;$b)
> 
> If ($mouseX>=$l) & ($mouseX<=$r) & ($mouseY>=$t) & ($mouseY<=$b)
>       $mouse_in_listbox:=True
> Else 
>       $mouse_in_listbox:=False
> End if 
> 
> $0:=$mouse_in_listbox
> 
> 
> 
> 
>> -----Oorspronkelijk bericht-----
>> Van: Piotr Chabot Stadhouders [mailto:[email protected]]
>> Verzonden: vrijdag 5 januari 2018 10:06
>> Aan: 4D iNug Technical <[email protected]>
>> Onderwerp: RE: On Column Resize event
>> 
>> Hi Chip, Miyako,
>> 
>> @Chip :
>> Thanks, this is a nice tip!
>> But don't you agree it should be easier, and 4D should have thought 
>> about this,
>> and implement it another way?
>> 
>> @Miyako :
>> I know there is a new auto-resize feature, but this works not as how 
>> we want it
>> In fact we have implemented an auto-resize feature ourselves, and this is
>> exactly why we have a problem now When a user resizes a column we
>> determine the ratio's of the column widths (We do this in the "On Column
>> Resize" event) When resizing the listbox (by resizing the window for 
>> example)
>> in the "On Resize" event we set the widths proportionally based on 
>> the ratio's
>> calculated earlier
>> 
>> Gr,
>> 
>> Piotr
>> 
>>> -----Oorspronkelijk bericht-----
>>> Van: Chip Scheide [mailto:[email protected]]
>>> Verzonden: donderdag 4 januari 2018 18:22
>>> Aan: 4D iNug Technical <[email protected]>
>>> CC: Piotr Chabot Stadhouders <[email protected]>
>>> Onderwerp: Re: On Column Resize event
>>> 
>>> Piotr,
>>> 'On Timer' can be used to limit execution of the On Column Resize event.
>>> I have seen a similar problem with other resizing situations.
>>> 
>>> Basically - you start a timer for a .5 second or so, then On timer
>>> executes the code.
>>> This reduces the number of times the code runs.
>>> 
>>> For differentiating between manual resizing of a column vs auto
>>> resizing via a window resize, you could try setting a flag. Set the
>>> flag in 'On Mouse Enter', and clearing it in 'On Mouse Leave', in the
>>> context of the listbox. Then in the code for resizing if the flag is
>>> set the user has the mouse in the listbox and is resizing manually. 
>>> If not, then
>> the user is resizing the window.
>>> 
>>> Chip
>>> On Thu, 4 Jan 2018 17:13:23 +0000, Piotr Chabot Stadhouders via
>>> 4D_Tech
>>> wrote:
>>>> Hi,
>>>> 
>>>> In 4D v16 there is a new feature so an "On Column Resize" event is
>>>> triggered "live" during resizing of a listbox:
>>>> https://blog.4d.com/execute-action-upon-listbox-column-resizing/
>>>> 
>>>> I have a lot of code behind that event in our application that now
>>>> is executed too many times, so I don't like this at all. I have to
>>>> eliminate this code, because it is based on the idea a user resizes
>>>> the column.
>>>> 
>>>> Apart from this fact, there is something else :
>>>> When setting the Horizontal sizing option of the listbox to grow,
>>>> the listbox grows when resizing the window, and the last column of
>>>> the listbox is also resized. This is common beheviour What I don't
>>>> like is that then the "On Column Resize" event also is fired, so now
>>>> when resizing the window, the code behind the event is executed many
>>>> times.
>>>> What I don't understand is how I can know if the event is triggered
>>>> by a user resizing the column, or if it is triggered by something
>>>> else (in this case resizing the window)
>>>> 
>>>> Does anybody know of a way to detect this?
>>>> 
>>>> Gr,
>>>> 
>>>> Piotr
>>>> 
>>>> 
>>> 
>> ****************************************************************
>>> ******
>>>> 4D Internet Users Group (4D iNUG)
>>>> FAQ:  http://lists.4d.com/faqnug.html
>>>> Archive:  http://lists.4d.com/archives.html
>>>> Options: http://lists.4d.com/mailman/options/4d_tech
>>>> Unsub:  mailto:[email protected]
>>>> 
>>> 
>> ****************************************************************
>>> ******
>>> ---------------
>>> Gas is for washing parts
>>> Alcohol is for drinkin'
>>> Nitromethane is for racing
>> 
> 
> **********************************************************************
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:[email protected]
> **********************************************************************
---------------
Gas is for washing parts
Alcohol is for drinkin'
Nitromethane is for racing 
**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:[email protected]
**********************************************************************

Reply via email to