> int DrawTextEx
> (
>      HDC hdc, // handle to device context
>      LPTSTR lpchText, // pointer to string to draw
>      int cchText, // length of string to draw
>      LPRECT lprc, // pointer to rectangle coordinates
>      UINT dwDTFormat, // formatting options
>      LPDRAWTEXTPARAMS lpDTParams // pointer to structure for more options
> );

(Top-posting fixed)

Additionally, use SetBkMode (hdc, OPAQUE) and SetBkColor (hdc, COLORREF)
to set the actual background color.

XDrawString appears to always draw transparently, and XDrawImageString
always opaque; on Windows, you can specifically set the BkMode and
color, which aree used the same for just about all text drawing
functions. DrawTextEx has the advantage it also can *fill* the entire
drawing rectangle, so you know what you get in advance. The other
functions use the font information to calculate a reasonable bounding box.

[Jw] 
