Delphi控件 我们也可以(4)

12345HILLAAA

12345HILLAAA

2016-01-29 14:13

Delphi控件 我们也可以(4),Delphi控件,我们也可以(4)
 
下面是我的代码:

unit LxTouchLabel;

interface

uses

Windows, Messages, SysUtils, Classes, Controls, StdCtrls, Graphics;

type

TTouchLabel = class(TLabel)

private

{ Private declarations }

FColor : TColor;

FTouchColor : TColor;

FTempColor : TColor;

FTouchFont : TFont;

FTempFont : TFont;

isStoreTouchFont : Boolean;

function GetTouchBKColor : TColor;

function isStoreTouchBKColor : Boolean;

procedure SetTouchBKColor(AColor : TColor);

procedure SetTouchFont(AFont : TFont);

procedure CMMouseEnter(var Message : TMessage); Message CM_MOUSEENTER;

procedure CMMouseLeave(var Message : TMessage); Message CM_MOUSELEAVE;

protected

{ Protected declarations }

public

{ Public declarations }

constructor Create(AOwner: TComponent); override;

destructor Destroy; override;

published

{ Published declarations }

property Color;

property ParentColor;

property ParentFont;

property TouchBKColor : TColor Read GetTouchBKColor Write SetTouchBKColor

stored isStoreTouchBKColor default clWindow;

property TouchFont : TFont Read FTouchFont Write SetTouchFont

stored isStoreTouchFont;

property ChangeWhileTouch : Boolean Read isStoreTouchFont

Write isStoreTouchFont default True;

end;


procedure Register;

implementation

procedure Register;

begin

RegisterComponents('LX', [TTouchLabel]);

end;

{ TTouchLabel }

constructor TTouchLabel.Create(AOwner: TComponent);

begin

inherited;

FTempColor := clWindow;

FTempFont := TFont.Create;

FTouchFont := TFont.Create;

isStoreTouchFont := True;

end;


destructor TTouchLabel.Destroy;

begin

FTempFont.Free;

FTouchFont.Free;

inherited;

end;



function TTouchLabel.GetTouchBKColor: TColor;

begin

Result := FTouchColor;

end;


procedure TTouchLabel.SetTouchFont(AFont: TFont);

begin

FTouchFont.Assign(AFont);

isStoreTouchFont := True;

end;


procedure TTouchLabel.CMMouseEnter(var Message: TMessage);

begin

inherited;

if not ChangeWhileTouch then exit;

if FColor < FTouchColor then

begin

FTempColor := Color;

Color := TouchBKColor;

end;


FTempFont.Assign(Font);

Font.Assign(TouchFont);

end;


procedure TTouchLabel.CMMouseLeave(var Message: TMessage);

begin

inherited;

if not ChangeWhileTouch then exit;

if FColor < FTouchColor then

Color := FTempColor;

Font.Assign(FTempFont);

end;


procedure TTouchLabel.SetTouchBKColor(AColor: TColor);

begin

FTouchColor := AColor;

end;


function TTouchLabel.isStoreTouchBKColor: Boolean;

begin

Result := (FColor < FTouchColor);

end;

end.[next]


///////////////////////////////////////////////////////////////////////

unit QLXTouchLable;

interface

uses

Windows, Messages, SysUtils, Classes, QControls, QStdCtrls, QGraphics;

type

TTouchLable = class(TLabel)

private

{ Private declarations }

FColor : TColor;

FTouchColor : TColor;

FTempColor : TColor;

FTouchFont : TFont;

FTempFont : TFont;

isStoreTouchFont : Boolean;

function GetTouchColor : TColor;

function isStoreTouchColor : Boolean;

procedure SetTouchColor(AColor : TColor);

procedure SetTouchFont(AFont : TFont);

procedure MouseEnter(AControl: TControl); override;

procedure MouseLeave(AControl: TControl); override;

protected

{ Protected declarations }

public

{ Public declarations }

constructor Create(AOwner: TComponent); overri
展开更多 50%)
分享

猜你喜欢

Delphi控件 我们也可以(4)

Delphi
Delphi控件 我们也可以(4)

Delphi控件 我们也可以(2)

Delphi
Delphi控件 我们也可以(2)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Delphi控件 我们也可以(3)

Delphi
Delphi控件 我们也可以(3)

Delphi控件 我们也可以(1)

Delphi
Delphi控件 我们也可以(1)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Delphi控件制作技巧[一]

编程语言 网络编程
Delphi控件制作技巧[一]

Delphi控件制作技巧[二]

编程语言 网络编程
Delphi控件制作技巧[二]

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Delphi中动态链接库(DLL)的建立和使用

Delphi中动态链接库(DLL)的建立和使用

《苍穹之剑》竞技场如何战胜对手 战场风筝攻略

《苍穹之剑》竞技场如何战胜对手 战场风筝攻略
下拉加载更多内容 ↓