The problem is the concept of "transparent". 2014-11-22 10:40 GMT-02:00 Fabio Luis Girardi <[email protected]>:
> I think that we aren't talking about the same thing. > > I think that a transparent control must retain clicks to another controls > if it is uppermost and in front of these controls. I think that this is > correct. > > Polyline is a different control. The area of line is the area of the > control, other area will be full transparent and must pass the events to > controls behind. If you click on line, the click must be fired on Polyline > object, otherwise, it must be fired on the first control behind of polyline. > > The bug here is: I have two TImages and one polyline. The uppermost is > TImage is positioned in a removed area (transparent) of polyline and the > other TImage is the background. When I click on uppermost TImage click > isn't fired on it nor on background TImage. It's fired on TForm! The same > behavior happens if polyline is the uppermost control. > > Using SetShape make the "click" ignore TImages and TSpeedButtons (in front > or behind) positioned in a removed area of a Shaped control. > > Since the click messages are processed on parent, I made the message > redirection. Now I'm studing a way to check if the click is on a control > area or not, to make a TControl.CMHitTest fix. > > > > > 2014-11-22 7:57 GMT-02:00 Frederic Da Vitoria <[email protected]>: > > I may be wrong, but this seems different from the problem you are >> describing: in the bugtracker issue, the click triggers the Form handler >> instead of being sent to a Control. In your problem, from your description, >> I thought the click triggered the polyline control while you would have >> wanted it to be handled by the TImage which is behind the polyline. In a >> way, your problem is not enough transparency (in terms of who gets to >> handle the click event) while the bugtracker bug is too much transparency. >> Or did I misunderstand you? >> >> >> 2014-11-22 10:01 GMT+01:00 Fabio Luis Girardi <[email protected]>: >> >>> Here is it: http://bugs.freepascal.org/view.php?id=20381 >>> >>> 2014-11-21 22:24 GMT-02:00 Fabio Luis Girardi <[email protected]>: >>> >>> I found this bug on bug tracker. I followed your idea and send a patch >>>> that solves this. I'll try another approach tomorrow. >>>> >>>> Thank you very much! >>>> Em 21/11/2014 20:48, "Frederic Da Vitoria" <[email protected]> >>>> escreveu: >>>> >>>> 2014-11-21 16:01 GMT+01:00 Frederic Da Vitoria <[email protected]>: >>>>> >>>>>> >>>>>> 2014-11-20 19:21 GMT+01:00 Fabio Luis Girardi <[email protected] >>>>>> >: >>>>>> >>>>>>> I don't know if this is a bug or not. I created a control from a >>>>>>> TCustomControl that draws a polyline with a transparent background. The >>>>>>> transparent effect has been using SetShape procedure using a bitmap of 1 >>>>>>> bit color depth. >>>>>>> >>>>>>> The "bug" (I don't know if this is a bug) is that a TImage behind of >>>>>>> a instance of my polyline control don't receive the click messages, but >>>>>>> a >>>>>>> TButton instance receives. >>>>>>> >>>>>>> So, I don't know if this is a bug or I have to do something in my >>>>>>> control to send these messages to TImage behind. >>>>>>> >>>>>> >>>>>> I had once a similar issue with a tPanel behind another control, in >>>>>> Delphi. IIRC, I indeed had to forward the messages in some way to the >>>>>> tPanel. I can check in my archives, if you want, but I won't be able to >>>>>> do >>>>>> it before tomorrow. >>>>>> >>>>> >>>>> I just checked. Sorry, my memory was wrong, I did use TButtons. But it >>>>> makes sense that the uppermost control would prevent any deeper control >>>>> from receiving clicks, even if the uppermost control is visually >>>>> transparent. >>>>> >>>> >> -- >> Frederic Da Vitoria >> (davitof) >> >> Membre de l'April - « promouvoir et défendre le logiciel libre » - >> http://www.april.org >> > > > > -- > The best regards, > > Fabio Luis Girardi > PascalSCADA Project > http://sourceforge.net/projects/pascalscada > http://www.pascalscada.com > -- The best regards, Fabio Luis Girardi PascalSCADA Project http://sourceforge.net/projects/pascalscada http://www.pascalscada.com
-- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
