在Win98中,label的autosize设为true,font.size设为10,字体为宋体。
运行时一切正常。把程序放在Win2000中运行,发现label不能完全显示文字,要被吃掉一部分。如果在win98中设label的width足够宽,取消autosize,在Win2000中就可以完全显示。不知是不是控件本身对中文的支持问题?

解决方案 »

  1.   

    autosize设为false,把宽度适当拉宽。
      

  2.   

    我就是这么做的。但出现这样的问题,总是label控件本身还有问题吧……
      

  3.   

    Font.Charset 设为GB2312_CHARSET
      

  4.   

    设置整个FORM的字体为GB2312_CHARSET即可以完全解决问题!!!
    很久以前本人就解决这个问题了
      

  5.   

    Form的Scaled属性默认为True,设为False试试!
      

  6.   

    autosize设为false,把宽度适当拉宽应该就行了吧?
      

  7.   

    对于窗体字体问题,本人有以下的观点:
    Win98中的默认字体是MS Sans Serif 8号
    而Win2000中是Tahoma 8号
    即是不同操作系统的系统字体不同。如何做一个程序,它的界面字体能根据操作系统的系统字体不同而相应改变呢。以下是一个解决办法:
    建一个空白窗体类,在Create构造函数中写:
    Self.Font.Handle := GetStockObject(SYSTEM_FONT)
    然后你的工程中的所有窗体都从这个基本窗体继承下来,这样就可以根据系统字体不同而相应改变了。--------------------
    http://blog.csdn.net/linzhengqun
      

  8.   

    楼上朋友,如果label里的内容是变长的,怎么能“适当”拉宽啊?
      

  9.   

    Label里的内容后面加上几个空格。我一般都是这样滴!