> 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]