?? activecheckbox.pas
字號:
////////////////////////////////////////////////////////////////////////////////////
//
//
// FileName : ActiveCheckBox.pas
// Creater : Shen Min
// Date : 2001-8-7
// Comment :
//
//
////////////////////////////////////////////////////////////////////////////////////
unit ActiveCheckBox;
interface
uses
Windows, Graphics, Classes,
ActiveButton;
type
TActiveCheckBox = class(TActiveButton)
private
FChecked : Boolean;
FPicNormalChecked : TPicture;
FPicMouseInChecked : TPicture;
FPicMouseDownChecked : TPicture;
FPicDisabledChecked : TPicture;
FPicNormal : TPicture;
FPicMouseIn : TPicture;
FPicMouseDown : TPicture;
FPicDisabled : TPicture;
procedure SetPicDisabled(const Value: TPicture);
procedure SetPicDisabledChecked(const Value: TPicture);
procedure SetPicMouseDown(const Value: TPicture);
procedure SetPicMouseDownChecked(const Value: TPicture);
procedure SetPicMouseIn(const Value: TPicture);
procedure SetPicMouseInChecked(const Value: TPicture);
procedure SetPicNormal(const Value: TPicture);
procedure SetPicNormalChecked(const Value: TPicture);
procedure PictureChanged(Sender: TObject);
protected
procedure SetChecked(const Value: Boolean); virtual;
procedure UpdateCheckState();
procedure Click(); override;
procedure DblClick(); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy(); override;
published
property Checked : Boolean read FChecked write SetChecked default false;
property PicNormalChecked : TPicture read FPicNormalChecked write SetPicNormalChecked;
property PicOnMouseInChecked : TPicture read FPicMouseInChecked write SetPicMouseInChecked;
property PicOnMouseDownChecked : TPicture read FPicMouseDownChecked write SetPicMouseDownChecked;
property PicDisabledChecked : TPicture read FPicDisabledChecked write SetPicDisabledChecked;
property PicNormal : TPicture read FPicNormal write SetPicNormal;
property PicOnMouseIn : TPicture read FPicMouseIn write SetPicMouseIn;
property PicOnMouseDown : TPicture read FPicMouseDown write SetPicMouseDown;
property PicDisabled : TPicture read FPicDisabled write SetPicDisabled;
end;
procedure Register;
implementation
constructor TActiveCheckBox.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FPicNormalChecked := TPicture.Create();
FPicMouseInChecked := TPicture.Create();
FPicMouseDownChecked := TPicture.Create();
FPicDisabledChecked := TPicture.Create();
FPicNormal := TPicture.Create();
FPicMouseIn := TPicture.Create();
FPicMouseDown := TPicture.Create();
FPicDisabled := TPicture.Create();
FChecked := false;
FPicNormal.OnChange := PictureChanged;
FPicNormalChecked.OnChange := PictureChanged;
FPicMouseIn.OnChange := PictureChanged;
FPicMouseInChecked.OnChange := PictureChanged;
FPicMouseDown.OnChange := PictureChanged;
FPicMouseDownChecked.OnChange := PictureChanged;
FPicDisabled.OnChange := PictureChanged;
FPicDisabledChecked.OnChange := PictureChanged;
end;
destructor TActiveCheckBox.Destroy();
begin
FPicDisabled.Free();
FPicDisabled := nil;
FPicMouseDown.Free();
FPicMouseDown := nil;
FPicMouseIn.Free();
FPicMouseIn := nil;
FPicNormal.Free();
FPicNormal := nil;
FPicDisabledChecked.Free();
FPicDisabledChecked := nil;
FPicMouseDownChecked.Free();
FPicMouseDownChecked := nil;
FPicMouseInChecked.Free();
FPicMouseInChecked := nil;
FPicNormalChecked.Free();
FPicNormalChecked := nil;
inherited Destroy();
end;
procedure TActiveCheckBox.PictureChanged(Sender: TObject);
begin
UpdateCheckState();
end;
procedure TActiveCheckBox.SetChecked(const Value: Boolean);
begin
FChecked := Value;
UpdateCheckState();
end;
procedure TActiveCheckBox.SetPicDisabled(const Value: TPicture);
begin
FPicDisabled.Assign(Value);
end;
procedure TActiveCheckBox.SetPicDisabledChecked(const Value: TPicture);
begin
FPicDisabledChecked.Assign(Value);
end;
procedure TActiveCheckBox.SetPicMouseDown(const Value: TPicture);
begin
FPicMouseDown.Assign(Value);
end;
procedure TActiveCheckBox.SetPicMouseDownChecked(const Value: TPicture);
begin
FPicMouseDownChecked.Assign(Value);
end;
procedure TActiveCheckBox.SetPicMouseIn(const Value: TPicture);
begin
FPicMouseIn.Assign(Value);
end;
procedure TActiveCheckBox.SetPicMouseInChecked(const Value: TPicture);
begin
FPicMouseInChecked.Assign(Value);
end;
procedure TActiveCheckBox.SetPicNormal(const Value: TPicture);
begin
FPicNormal.Assign(Value);
if csDesigning in ComponentState then
UpdateCheckState();
end;
procedure TActiveCheckBox.SetPicNormalChecked(const Value: TPicture);
begin
FPicNormalChecked.Assign(Value);
if csDesigning in ComponentState then
UpdateCheckState();
end;
procedure TActiveCheckBox.UpdateCheckState();
begin
if FChecked then
begin
inherited PicNormal := FPicNormalChecked;
inherited PicOnMouseIn := FPicMouseInChecked;
inherited PicOnMouseDown := FPicMouseDownChecked;
inherited PicDisabled := FPicDisabledChecked;
end
else
begin
inherited PicNormal := FPicNormal;
inherited PicOnMouseIn := FPicMouseIn;
inherited PicOnMouseDown := FPicMouseDown;
inherited PicDisabled := FPicDisabled;
end;
RePaint();
end;
procedure TActiveCheckBox.Click;
begin
Checked := not Checked;
UpdateCheckState();
inherited;
end;
procedure TActiveCheckBox.DblClick;
begin
Checked := not Checked;
UpdateCheckState();
inherited;
end;
procedure Register;
begin
RegisterComponents('Sunisoft', [TActiveCheckBox]);
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -