[Lazarus] Clear font backgrounds
Dave Coventry
dgcoventry at gmail.com
Mon Apr 13 18:36:36 CEST 2009
2009/4/13 Martin Friebe <lazarus at mfriebe.de>:
> After "SetBKMode" try to output text as usual, eg with:
> "Image1.Canvas.TextOut()". (or whatever it is, I don't recall exactly)
>
> This may already work, I haven't tried it....
No, it doesn't, I'm afraid.
> What I have used is:
>
> dc := Canvas.Handle;
> SetBkMode(dc, TRANSPARENT);
> LCLIntf.ExtUTF8Out(dc, X, Y, 0, @ARect, Text, Length, nil);
>
> ARect is a TRect thats specifies where the text goes. Unless you use
> clipping, only the top edge matters (since the background is transparent
> too)
>
> Example can be found in SynEdit: components\synedit\syntextdrawer.pp
> line 1175 (the line refers to the SVN version; use search otherwise);
> the BKMode is set in synedits main unit.
I've found an easier way:
Set Image1.Canvas.Bruch.Style:=bsClear.
Works fine.
More information about the Lazarus
mailing list