📄 sdbmemo.pas
字号:
unit sDBMemo;
{$I sDefs.inc}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, DBCtrls, sConst, sStyleEdits;
type
TsDBMemo = class(TDBMemo)
private
procedure WMNCCalcSize (var Message: TWMNCCalcSize); message WM_NCCALCSIZE;
procedure WMNCPaint (var Message: TMessage); message WM_NCPAINT;
procedure WMPaint (var Message: TMessage); message WM_PAINT;
protected
FsStyle : TsStyle;
procedure CreateWnd; override;
procedure WndProc (var Message: TMessage); override;
public
LastControl : boolean;
constructor Create(AOwner:TComponent); override;
destructor Destroy; override;
procedure Invalidate; override;
published
property sStyle:TsStyle read FsStyle write FsStyle;
end;
implementation
{ TsDBMemo }
constructor TsDBMemo.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
BorderStyle := bsNone;
DoubleBuffered := True;
sStyle := TsStyle.Create(Self);
sStyle.COC := COC_TsDBMemo;
OnKeyDown := sStyle.onKeyDown;
ParentColor := False;
end;
procedure TsDBMemo.CreateWnd;
begin
inherited;
end;
destructor TsDBMemo.Destroy;
begin
FreeAndNil(FsStyle);
inherited;
end;
procedure TsDBMemo.Invalidate;
begin
Color := sStyle.GetActiveColor;
if (csDesigning in ComponentState) and Assigned(FsStyle) then begin
FsStyle.BGChanged := True;
end;
sStyle.RedrawBorder;
inherited;
end;
procedure TsDBMemo.WMNCCalcSize(var Message: TWMNCCalcSize);
begin
inherited;
InflateRect(Message.CalcSize_Params^.rgrc[0], -3, -3);
end;
procedure TsDBMemo.WMNCPaint(var Message: TMessage);
begin
if (csDestroying in ComponentState) or (csLoading in ComponentState) then Exit;
Color := sStyle.GetActiveColor;
sStyle.RedrawBorder;
inherited;
end;
procedure TsDBMemo.WMPaint(var Message: TMessage);
begin
if (csDestroying in ComponentState) or (csLoading in ComponentState) then Exit;
inherited;
sStyle.RedrawBorder;
end;
procedure TsDBMemo.WndProc(var Message: TMessage);
begin
if Assigned(FsStyle) then FsStyle.WndProc(Message);
inherited;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -