关于重绘edit控件边框问题
我要实现一个圆角矩形的扁平按钮,边框颜色要能自己控制.
我的想法是把Edit设置成无边框的风格,然后从CEdit继承了一个自己的类,然后改怎么做呢??
网上的方法有两种:
第一种:在Paint里面重绘,我用dc.RoundRect(rect,pt)画了一个圆角矩形,但是在输入内容的时候,光标会覆盖上边框,而且边框无法刷新,会模糊.
有人说可以用画线的方式来做,但是画线画出一个矩形后,也存在输入内容后要覆盖边框的问题.
第二种:在NcPant里面,用dc.RoundRect(rect,pt),但是画不出来.
如果用dc.DrawEdge(CRect(0,0,rc.Width(),rc.Height()),EDGE_BUMP ,BF_FLAT|BF_RECT); 同时把edit改成有边框的风格,
能够画出边框,但是只能是矩形的,而且当改变edit的背景色以后
边框和背景色之间有点小缝,不能很好的结合在一起.
以上我都用程序测试过,不晓得其他高手是怎么做的??