先谢谢各位来到这里,我的问题是:
我使用了一个两行Edit Box (多行,无AutoScroll,最多字符50个),当字符输入到Edit Box最右端时会自动换行。
可是,我发现输入的字符有宽有窄,导致有时候输入十几个字就换行,有时候输入三四十个字才换行。
系统的一些同类型Edit Box,里面的文字的宽度确是相同的,如一行可以输入20个“W”,同样只能输入20个“i”。
请问如何让自己的Edit Box和系统的一样;或者如何让Edit Box在一定字符就自动换行?两种方法均可。

解决方案 »

  1.   

    使用等宽字体不就行了.
    用goolge搜索下等宽字体具体类型
      

  2.   

    SetFont设置字体,字体可以选“Curior”
      

  3.   

    OnChar里面判断一下,到了20个自动换行
      

  4.   

    "Courier" VS "Courier New"好象区别很明显, 后面那个才是等宽
      

  5.   

    MFC有CDC::GetOutputTextExtent这个方法可以直接可以得到字符串的宽度。
    不过最好换成WCHAR在切分,以免出现乱码。
      

  6.   

    不好意思,修正以下,MFC该用CDC::GetTextExternt,API是GetTextExtentPoint32。
      

  7.   

    SetFont设置字体,设置字符等宽
      

  8.   

    SetFont设置字体,字体可以选“Curior”
     
    或是判断字符数量