当标题为中文时总是偏右,如果全是英文数字就没事,不管是在界面编辑时直接添加的或是程序运行时添加的都一样,到底是为什么?
用vb,vc都没有问题。

解决方案 »

  1.   

    普通按钮,标题四个汉字,字体不要太大,font.size=10左右,按钮宽度略比这四个汉字宽一点,效果比较明显。
      

  2.   

    SetWindowLong(Button1.handle, GWL_STYLE,
                     GetWindowlong(Button1.Handle, GWL_STYLE) or
                     BS_CENTER);
                     ^^^^^^^^^好象是这个值,现在在网吧,不能查msdn,你可以自己查一下
      

  3.   

    环境是delphi6,分辨率1024*768
    button1:TButton;
    caption:='四个汉字';
    width:=65;
    font.size:=8;
    font.hieght:=-11;
    font.name:='MS Sans Serif';
    '字'和按钮右边贴上了,'四'和按钮左边还有至少一毫米,很不对称。
    不行就去掉caption,用canvas.textout去画,想画哪就画哪。
      

  4.   

    要不可能是你的caption里面有空格:)
      

  5.   

    你的控件CAPTION或者TEXT里有空格,
      

  6.   

    空格是肯定没有的,有的话我还能问这样的问题吗,试了firetoucher(风焱)提供的函数
    SetWindowLong(Button1.handle, GWL_STYLE,
                     GetWindowlong(Button1.Handle, GWL_STYLE) or
                     BS_CENTER);
    结果一样,没有变化,我的系统是winxp,delphi6,分辨率1024*768。
      

  7.   

    不知道,字体是默认的font.name:='MS Sans Serif';
      

  8.   

    将字体改为宋体,字符集改为GB2312_CHARSET,结果标题偏左,变成“四”和按钮左边贴上了,“字”和按钮右边有一毫米,还是不对称。
      

  9.   

    倒,晕死了,我叫你自己查一下,将BS_CENTER改了!
    SetWindowLong(Button1.handle, GWL_STYLE,
                     GetWindowlong(Button1.Handle, GWL_STYLE) or
                     BS_LEFT );
                   ………………
      

  10.   

    是所有的控件都这样嘛,如果不是的话,你换个试试看,有时候是DELPHI本身的问题。
      

  11.   

    to:firetoucher(风焱) 
    我试过了,无论是BS_LEFT还是BS_CENTER,都一样。
    to:zlyanyan(zl) 
    label也是这样,但bitbtn就没事,这个按钮的标题就是居中的。