巧用shape代替按钮

软件世界

在制作“关于”窗体时,一般会用到“确定”按钮,Borland C++ Builder的控件栏所提供的几种按钮不但相貌丑陋,而且没有曲线美,将会破坏整个界面的和谐。
为了使界面自然、美观,一般的思路是用制图软件做一个小图片,把这个小图片放在背景图上,然后在OnMouseDown中写入Close();,并把Cursor设置为crHandPoint,当背景和小图片都为纯色时,小图片能较好地与背景融为一体,不会让视觉有刺眼的感觉;但当背景图为一幅图案时,放上的小图片就不能与背景融为一体了,当然,Photoshop高手也许能把图片处理得很好,但我在实验多次后放弃了,我试图寻找其他方法来解决这个问题。
经过漫长的尝试之后,我想到了Shape画图组件,这个组件的Brush下的Style属性和Pen下的Style属性都有透明的选项,平时没重视,也许利用这两个属性能解决我的问题。实践证明这两个属性完全能满足我的要求。
1.用Photoshop制作一张背景图,这张背景图给人感觉有一个凸出的按钮(利用填充图案和层效果),制作相当简单,界面绝对自然、和谐、流畅、美观,如((图1))所示。

图1
图1

2.启动Borland C++ Builder,打开“关于”窗体,点击Additional页的Image,调入刚才制作的图片。
3.点击Additional页的Shape,在窗体上点击鼠标左键,产生一个几何图形。
4.设置这个几何图形的属性。先设置图形为椭圆:Shape→stEllipse,再使填充色透明:Brush→Style→bsClear,并把Cursor设置为crHandPoint,目的是使鼠标指向这个区域时变为手形。然后利用Shift和Ctrl键,配合小键盘的方向键使之与“确定”这个椭圆重叠并大小一致。如((图2))所示。
图2
图2

5.设置这个几何组件的OnMouseDown事件:Close();。
6.设置这个几何组件的边框为透明,即Pen→Style→psClear。
经过这番处理后,当鼠标指向“确定”所在的椭圆时,鼠标将变为手形,点击后窗体关闭,与设置一个按钮的效果一样,对于想把界面做得十全十美而Photoshop水平一般的程序设计者而言,这种处理真的不失为一种好的办法。