鼠标的移入、移出的消息(100分)

  • 主题发起人 主题发起人 zhangjin
  • 开始时间 开始时间
Z

zhangjin

Unregistered / Unconfirmed
GUEST, unregistred user!
我要做一个Lable,在鼠标移入的时候改变颜色,移出的时候恢复
要用消息,该怎么做?
请详细,谢谢
 
给你写个继承TLabel类的小程序,在鼠标移入移出时改变颜色,类似
超级链接的效果。
你自己再根据自己的要求改改了。

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
stdctrls;

type

TURLLabel = class(TLabel)
procedure WndProc(var Message : TMessage); override;
end;


type
TForm1 = class(TForm)

procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TURLLabel.WndProc(var Message: TMessage);
begin
if (Message.Msg = CM_MOUSELEAVE) then
begin
Font.Color := clWindowText;
Font.Style := Font.Style - [fsUnderline];
end;
if (Message.Msg = CM_MOUSEENTER) then
begin
Font.Color := clBlue;
Font.Style := Font.Style + [fsUnderline];
end;
inherited WndProc(Message);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
with TURLLabel.Create(Self) do
begin
Parent := Self;
Left := 10;
Top := 10;
caption := 'www.delphi3000.com';
Cursor := crHandPoint;
end;
end;

end.
 
d6中有这个事件
onmouseleave
onmousemove
这两个事件就行了
 
接受答案了.
 
后退
顶部