📄 pslabel.pas
字号:
(* GREATIS PRINT SUITE *)
(* unit version 1.85.005 *)
(* Copyright (C) 2001-2007 Greatis Software *)
(* http://www.greatis.com/delphicb/printsuite/ *)
(* http://www.greatis.com/delphicb/printsuite/faq/ *)
(* http://www.greatis.com/bteam.html *)
unit PSLabel;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, PSPreview, PSCommon;
type
TMode = (lmPage,lmScale);
TCustomPreviewLabel = class(TCustomLabel)
private
{ Private declarations }
FPreview: TCustomPreview;
FMode: TMode;
FOnUpdate: TNotifyEvent;
procedure SetPreview(const Value: TCustomPreview);
procedure SetMode(const Value: TMode);
protected
{ Protected declarations }
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
property Preview: TCustomPreview read FPreview write SetPreview;
property Mode: TMode read FMode write SetMode default lmPage;
property Align;
property Alignment;
property AutoSize;
property Color;
property Font;
property Layout;
property ParentColor;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property Transparent;
property Visible;
property OnUpdate: TNotifyEvent read FOnUpdate write FOnUpdate;
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Update; override;
end;
TPreviewLabel = class(TCustomPreviewLabel)
published
{ Published declarations }
property Preview;
property Mode;
property Align;
property Alignment;
property AutoSize;
property Color;
property Font;
property Layout;
property ParentColor;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property Transparent;
property Visible;
property OnUpdate;
end;
procedure Register;
implementation
procedure TCustomPreviewLabel.SetPreview(const Value: TCustomPreview);
begin
if Value<>FPreview then
begin
if Assigned(FPreview) then FPreview.DeleteControlNotification(Self);
FPreview:=Value;
if Assigned(FPreview) then FPreview.AddControlNotification(Self);
Update;
end;
end;
procedure TCustomPreviewLabel.SetMode(const Value: TMode);
begin
if Value<>FMode then
begin
FMode:=Value;
Update;
end;
end;
procedure TCustomPreviewLabel.Notification(AComponent: TComponent; Operation: TOperation);
begin
inherited;
if (Operation=opRemove) and Assigned(FPreview) and (AComponent=FPreview) then
Preview:=nil;
end;
constructor TCustomPreviewLabel.Create(AOwner: TComponent);
begin
inherited;
ShowAccelChar:=False;
Caption:=strNotLinked;
end;
destructor TCustomPreviewLabel.Destroy;
begin
if Assigned(FPreview) then FPreview.DeleteControlNotification(Self);
inherited;
end;
procedure TCustomPreviewLabel.Update;
begin
if Assigned(FPreview) then
case FMode of
lmPage: Caption:=FPreview.PageText;
lmScale: Caption:=FPreview.ScaleText;
end
else Caption:=strNotLinked;
inherited;
if Assigned(FOnUpdate) then FOnUpdate(Self);
end;
procedure Register;
begin
RegisterComponents('Print Suite', [TPreviewLabel]);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -