在做一个edit控件,想做成raize 控件包里的rzeidt那样,设置FrameVisible为true,edit就变成平面形,
我把edit几个属性设成这样
    BevelInner := bvNone;
    BevelKind := bkFlat;
    BorderStyle:=bsNone;
达到一样的效果,但是不同的是,设成这样后,edit里的文本就向左上角偏移了一些,如何把edit的显示文本再拉回eidt中间呢?

解决方案 »

  1.   

    服了楼上的...
    就算把字段改大,把height改小,显示文本还是会往左上角偏的啊
      

  2.   

    呵呵,你不就是在调整外观么?字体和Height也是外观的一部分。
      

  3.   

    啊,不对,那样做是可以。
    但界面上的字体都是统一的,不一样就不好了。
    改height改小感觉也不太合适呀...
      

  4.   

    你将BorderStyle由bsSingle改为bsNone的时候,看起来Edit的Height已经比正常的要大了
      

  5.   

    因为边框只剩一条线了,所以显示区域就大了一点。height还是一样的。
      

  6.   

    啊,解决了,一开始就进入误区了。
    其实不应该去设置这些:
        BevelInner := bvNone;
        BevelKind := bkFlat;
        BorderStyle:=bsNone;
    应该在收到wmpaint时自动去画画框。这样就避免了BorderStyle设为bsnone带来的影响.