用GDI+ DrawString 输出文字到 指定矩形,如果超出范围,则显示省落号,已经成功。只是如果字体比较小,就会换行显示,很奇怪的,大家有谁了解这个问题吗??在线等StringFormat   strFmt;   
strFmt.SetAlignment(StringAlignmentNear);
strFmt.SetTrimming(StringTrimmingEllipsisWord);
graphics.DrawString(lpszFile,nwLen,&gdiplusFont,rectF,&strFmt,&SolidBrush(Color(255,255,255,255)));

解决方案 »

  1.   

    DrawString 没有试过,有意思!
      

  2.   

    DrawString 会自动检测是否到了指定矩形边框以及给定的矩形是否写满。
    加入字体高度为15,而矩形高度为40,如果选择从左边开始写,那么第一行写到边上之后它会自动换到第二行。这种方式应该可以有参数改变……
      

  3.   

    StringFormat   strFmt;   
    strFmt.SetAlignment(StringAlignmentNear);
    strFmt.SetTrimming(StringTrimmingEllipsisWord);
    strFmt.SetFormatFlags(StringFormatFlagsNoWrap);
    graphics.DrawString(lpszFile,nwLen,&gdiplusFont,rectF,&strFmt,&SolidBrush(Color(255,255,255,255)));