DrawText中的自动换行功能

 转载:http://mycreature.blog.163.com/blog/static/55631720106185211327/

使用DrawText函数输出文字,如果需要让输出的内容在指定矩形内自动换行,则可以使用DT_WORDBREAK选项。但根据API说明,该选项只能截断单词,即只在单词间的空格处分割。如果输出内容是一长串没有空格分隔的ASCII码(如英文字符或数字),那么该长串会被当做一个单词来处理而不会自动换行(中文字符没有此问题)。如果要让ASCII码组成的长字符自动换行,那么可以使用DT_WORDBREAK和DT_EDITCONTROL两个选项搭配控制。

 

 

函数原型:

int DrawText(
  HDC hDC,          // 设备描述表句柄
  LPCTSTR lpString, // 将要绘制的字符串
  int nCount,       // 字符串的长度
  LPRECT lpRect,    // 指向矩形结构RECT的指针
  UINT uFormat      // 正文的绘制选项
);

函数描述:

函数DrawText用设备环境中的字体、正文颜色和背景颜色来写正文。DrawText裁剪正文,不会超出指定矩形,除非指定了DT_NOCLIP。除非使用DT_SINGLELINE格式化,否则其余的格式都认为正文有多行。

 

你可能感兴趣的:(api,2010)