关于界面的问题(50分)

  • 主题发起人 主题发起人 jacklee
  • 开始时间 开始时间
J

jacklee

Unregistered / Unconfirmed
GUEST, unregistred user!
如何实现象管家婆、速达3000这样在界面上鼠标一道图标上就突起而移走就凹下。主要是用什么控件,在那些事件中编程。最好附有例程。
我曾用speedbtn但是只能实现移上去显示可是移开就不知道怎么办了。
 
不过是显示两个不同图片罢了,不过看起来有点动态的效果!
 
找一个平面按钮控件吧,比如FlatStyle
 
Speedbtn中的allowup设为true,flat设为true
 
有这种控件,到www.playicq.com 上或是www.51delphi.com上去找。

 
你试一下在MouseMove的事件里写程序。。。
if sender=button1 then .....
具体怎么写,你自己想。。
 

以下是我初学写组件时写的一个组件,添加了鼠标移入移出事件。

unit NewSpeedButton;

interface

uses
Windows, Messages, SysUtils, Classes, Controls, Buttons;

type
TNewSpeedButton = class(TSpeedButton)
private
FOnMouseEnter : TNotifyEvent;
FOnMouseLeave : TNotifyEvent;
protected
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
public
constructor Create(AOwner: TComponent);override;
published
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
end;

procedure Register;

implementation

constructor TNewSpeedButton.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
end;

procedure TNewSpeedButton.CMMouseEnter(var Message: TMessage);//message CM_MOUSEENTER;
begin
inherited;
if Assigned(FOnMouseEnter) then
FOnMouseEnter(Self);
end;

procedure TNewSpeedButton.CMMouseLeave(var Message: TMessage);// message CM_MOUSELEAVE;
begin
inherited;
if Assigned(FOnMouseLeave) then
FOnMouseLeave(Self);
end;

procedure Register;
begin
RegisterComponents('dwh', [TNewSpeedButton]);
end;

end.
 
自己写了
 
PDJbutton控件到www.playicq.com 上或是www.51delphi.com上去找。
 
后退
顶部