各位亲爱的读者,在delphi编程实战中我们可以使用按钮控件来制作程序中的按钮键。但是在使用其它软件时,我们常常可以看到透明按钮的效果。 那么如何在delphi中实现透明按钮的效果?笔者在互联网搜索了不少时间也没有找到这方面的控件,于是决定自己diy一番,下面笔者就将自己的经验与广大读者共享一番。
要实现透明按钮,共需要三个控件-image、label、bevel。其中image控件是为了突出透明的效果而放置的(做为背景),label则是显示按键上的字。而bevel则是显示出一个立体框。(通过这个控件可以实现鼠标移到按钮上时显示出凸出的效果)下面我们就来看看具体的步骤吧。
1、 请先在delphi6.0中建一个工程文件
2、 请先选择一个图片,并注意其大小。然后将窗体调成与图片一样大小即可。
3、 然后在窗体上放置一个image控件,将其align属性调为alclient,这样图片的大小便与窗体的大小一模一样可以做为背景了。然后选择picture属性并点击小按钮,在弹出的窗口中按下load键选择你所要做为背景的图片。
4、 接着在窗体上再放置一个label控件,合理设置按钮的文字内容及字体大小后。单击transparent属性这样便将label设为了透明。
5、 最后在窗体上放置一个bevel控件。将shape属性设为bsbox,然后将style属性设为bsraise(这样为突然出效果),visible属性改为false(这样程序在运行时该控件不可见)。
6、 合理设置label与bevel控件的位置,使得bevel与label控件的位置及位置刚刚好一致,假如您觉得使用鼠标调整位置比较难。可以用ctrl+箭头来微移控件,用shift+箭头微调控件的大小。
下面我们就开始编程吧,请在代码窗口中设置下列事件及语句。
procedure tform1.label1mousemove(sender: tobject;
shift: tshiftstate; x, y: integer);
begin
bevel1.visible:=true;
//使得bevel控件可视
label1.bringtofront;
//将label1控件置于最前方以保证onclick事件能执行
end;
procedure tform1.label1click(sender: tobject);
begin
//在此加入点击按钮时需要执行的代码即可
end;
procedure tform1.image1mousemove(sender: tobject;
shift: tshiftstate; x,y: integer);
begin
bevel1.visible:=false;
//当鼠标在image控件移动时,使bevel控件不可视按钮不凸起
end;
另外为了保证透明按钮看起来不是很单调您还可以在label控件附近放一个图标,这样可以让使用者看起来更加明了。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器