TextOut与DrawText的区别

  BOOL TextOut(
    HDC hdc, // 句柄
    int nXStart, // 字符串的开始位置 x坐标
    int nYStart, // 字符串的开始位置 y坐标
    LPCTSTR lpString, // 字符串
    int cbString // 字符个数
  );
  
  int DrawText(
    HDC hDC, // 设备描述表句柄
    LPCTSTR lpString, // 将要绘制的字符串
    int nCount, // 字符串的长度
    LPRECT lpRect, // 指向矩形结构RECT的指针
    UINT uFormat // 正文的绘制选项
  );
  说明:TextOut不支持换行,并且功能比较单一。而DrawText内部调用了TextOut,但是额外还做了很多处理。DrawText可以通过设置进行换行,并且如果闯过矩形可以截取也可以变成省略号。所以如果简单情况下可以使用TextOut,如果需要一些特殊情况时,可以考虑DrawText。
  注意:DT_CALCRECT 可以使内容矩形返回的是实际显示内容的大小。
原文地址:https://www.cnblogs.com/jlyg/p/8302444.html