使用 dc::exttextout函数
CDC::ExtTextOutvirtual BOOL ExtTextOut(int x,int y,
UINT nOptions,
LPCRECTlpRect,
LPCTSTR lpszString,
UINT nCount,LPINT lpDxWidths);
BOOL ExtTextOut(int x,
int y,
UNIT nOptions,
LPCRECT lpRect,
constCstring& str LPINT lpDxWidths);返回值如果成功,则返回非零值,否则为0。参数x指定字符串首字符单元的X逻辑坐标。Y指定字符串首字符单元的Y逻辑坐标。
NOptions指定矩形类型,其值可为下列值之一,或全部,或没有:l ETO_CLIPPED  指定将文本剪切置入矩形。l ETO_OPAQUE  由背景色填充矩形(可用SetBkColor和GetBkColor成员函数设置和访问当前背景色)。LpRect指向决定矩形尺寸信息的RECT结构的指针,可设置为NULL。可以为该参数传递Crect对象。LpszString将要绘制的字符指针。可以为该参数传递Cstring对象。NCount指定字符串的字符数。LpDxWidths表示初始字符与相邻字符单元距离的数组的指针。例如lpDxWidths [I]表示I 字符与I+1 字符单元的分隔距离。如果lpDxWidths为NULL,ExtTextOut使用缺省值。Str包含要绘制的字符的Cstring对象
说明调用该成员函数使用当前字体在矩形内书写字符串,矩形区域可以是透明的(用当前背景色填充),也可以是一个剪切区域。
如果 nOptions为0且lpRect为NULL,函数在向设备上下文书写文本时不需要矩形区域。缺省地,当前位置不会被函数使用或更新。如果当调用ExtTextOut时,应用需要更新当前值,应用会调用将nFlag设置为TA_UPDATECP的CDC成员函数SetTextAlign。当该标志已设定时,Windows 在ExtTextOut随后的调用中会覆盖x和y,而使用当前位置。当使用TA_UPDATECP更新当前位置时,ExtTextOut把上一行文字末尾或lpDxWidths数组的末元素指定的位置设置为当前位置,具体看哪一个大一些。