DrawTextA 和DrawTextW 使用DT_CalcRect计算字符串的宽度两个函数的结果是否一样

解决方案 »

  1.   

    计算的宽度,以文本 转换 成不同的编码格式后. 文本的宽度. (高度也会有所不同)比如: "示例" & vbCrLf & vbCrLf & "演示DrawText函数的使用"用 DrawTextA 是三行.文本的宽度,是最宽一行的宽度.
    用 DrawTextA 是一行.文本的宽度,是最宽一行的宽度.
      

  2.   

    试验一下就行了吧
    我没试验,不过我有一个程序用的是
    Private Declare Function DrawText Lib "user32" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long
    计算中英文混合没出现过问题
      

  3.   

    不是中英文混合的问题,是计算ANSI和UNICODE的问题
      

  4.   

    因为如果结果一样,那我就可以只用DrawTextA来计算就好了,而不用判断字符串的类型,这样会快很多?