使用 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数组的末元素指定的位置设置为当前位置,具体看哪一个大一些。
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数组的末元素指定的位置设置为当前位置,具体看哪一个大一些。
解决方案 »
- VS2012的HelpViewer被我卸载了,怎么装回去
- MFC中如何让单击鼠标右键响应ON_UPDATE_COMMAND_UI消息宏。
- 立即刷新窗口的问题
- webbrowser的BEFORENAVIGATE2事件
- 关于简单的WIN32窗口
- windbg vista下如何开启本地kernel mode
- 关于使用COleDateTimeSpan求时间差的问题
- 一个端口绑定多个socket
- 我的程序最近总出现这样的错误,什么原因?
- COM高手请进,编译器报这个错误是怎么回事?
- 把char格式的"1"转换成int格式的1,把int格式的2转换成char格式的"2"用什么语句?
- VC7.0 ,6.0与VC5.0 相比有什么变化
how to textout with line spacing in a given rect?