请问这是为什么?(10分)

  • 主题发起人 主题发起人 doglive
  • 开始时间 开始时间
D

doglive

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个label,我在onmouseleave事件中把它的字体颜色变成兰色
当我的鼠标离开的时候却没有感应到事件,请问这个是为什么?
 
我实现过,可以的阿,
你把代码贴出来,我给你看看
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
procedure Label1MouseLeave(Sender: TObject);
procedure Label1MouseEnter(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Label1MouseLeave(Sender: TObject);
begin
Label1.Font.Color:=clBlue;
end;

procedure TForm1.Label1MouseEnter(Sender: TObject);
begin
Label1.Font.Color:=clRed;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Label1.Font.Color:=clBlack;
end;

end.

已测试:Windows 2003+Delphi7
给分吧
 
procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
// timer1.Interval := 10000000 ;
Tlabel(sender).Font.Color := Clred ;
//timer1.Enabled := false ;
end;
procedure TForm1.Label1MouseLeave(Sender: TObject);
begin
//timer1.Interval := 50 ;
Tlabel(sender).Font.Color := Clblue ;
//showmessage('shi zhegema');
// timer1.Enabled := true ;
end;
在我上怎么就不行呢?
 
Tlabel(sender)?
 
你的问题在于:
[red]Tlabel(sender).Font.Color := Clred ;[/red]

既然是Label1的MouseMove事件,我不明白你为什么要写成“TLabel(Sender)”的形式,用我的代码吧,没有问题。

把你代码里的所有“TLabel(Sender)”换成“Label1”就好了。
 
试过,还是不行
 
要说明的一点:
我这个程序是一个浏览器工具条插件,在工具条窗口上的一个label控件,在一个普通的
应用程序里面是可以的,但是到了插件里面为什么就扑获不到了呢?
 
后退
顶部