Dave Coventry wrote: > Hi Martin, Thanks for the response. > > 2009/4/13 Martin Friebe <laza...@mfriebe.de>: > >> uses LCLType, LCLIntf; >> >> SetBkMode(Image1.Canvas.Handle, TRANSPARENT); >> > > Yes, I do seem to have these functions. > > >> You may have to use LCLIntf.ExtTextOut() >> > > I'm not sure I understand. > > Do you mean Image1.Canvas.LCLIntf.ExtTextOut()? > > > Nope,
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.... 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. Martin _______________________________________________ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus