📄 adtrmemu.pas
字号:
procedure WMSetFocus(var Msg: TWMSetFocus); message WM_SETFOCUS;
procedure WMSize(var Msg : TWMSize); message WM_SIZE;
procedure WMVScroll(var Msg : TWMScroll); message WM_VSCROLL;
{TCustomControl emulation}
procedure Paint;
public
constructor Create(aOwner : TComponent); override;
destructor Destroy; override;
{overridden ancestor methods}
procedure CreateParams(var Params: TCreateParams); override;
procedure CreateWnd; override;
procedure DestroyWnd; override;
{terminal methods}
procedure Clear;
procedure ClearAll;
procedure CopyToClipboard;
procedure HideSelection;
procedure WriteChar(aCh : AnsiChar);
procedure WriteString(const aSt : string);
function HasFocus : Boolean;
procedure PasteFromClipboard; {!!.04}
{public properties}
property Attributes [aRow, aCol : integer] : TAdTerminalCharAttrs
read tmGetAttributes write tmSetAttributes;
property BackColor [aRow, aCol : integer] : TColor
read tmGetBackColor write tmSetBackColor;
property Color;
property Canvas : TCanvas
read FCanvas;
property CharHeight : integer
read FCharHeight;
property CharSet [aRow, aCol : integer] : byte
read tmGetCharSet write tmSetCharSet;
property CharWidth : integer
read FCharWidth;
property ClientCols : integer
read FClientCols;
property ClientRows : integer
read FClientRows;
property ClientOriginCol : integer
read FOriginCol write tmSetOriginCol;
property ClientOriginRow : integer
read FOriginRow write tmSetOriginRow;
property ForeColor [aRow, aCol : integer] : TColor
read tmGetForeColor write tmSetForeColor;
property HaveSelection : boolean
read FHaveSelection;
property Line [aRow : integer] : string
read tmGetLine write tmSetLine;
property Emulator : TAdTerminalEmulator
read tmGetEmulator write tmSetEmulator;
{published}
property Active : boolean
read FActive write tmSetActive
default adc_TermActive;
property AutoCopy : Boolean {!!.03}
read FAutoCopy write tmSetAutoCopy {!!.03}
default adc_TermAutoCopy; {!!.03}
property AutoScrollback : Boolean {!!.03}
read FAutoScrollback write tmSetAutoScrollback {!!.03}
default adc_TermAutoScrollback; {!!.03}
property BlinkTime : integer
read FBlinkTime write tmSetBlinkTime
default adc_TermBlinkTime;
property BorderStyle : TBorderStyle
read FBorderStyle write tmSetBorderStyle
default adc_TermBorderStyle;
property Capture : TAdCaptureMode
read FCapture write tmSetCapture
default adc_TermCapture;
property CaptureFile : string
read FCaptureFile write tmSetCaptureFile;
property Columns : integer
read tmGetColumns write tmSetColumns
default adc_TermColumnCount;
property ComPort : TapdCustomComPort
read FComPort write tmSetComPort;
property CursorType : TAdCursorType
read FCursorType write tmSetCursorType
default adc_TermCursorType;
property FollowCursor : Boolean {!!.03}
read FFollowCursor write tmSetFollowCursor {!!.03}
default adc_TermFollowsCursor; {!!.03}
property HalfDuplex : boolean
read FHalfDuplex write FHalfDuplex
default adc_TermHalfDuplex;
property HideScrollbars : Boolean {!!.03}
read FHideScrollbars write tmSetHideScrollbars {!!.03}
default adc_TermHideScrollbars; {!!.03}
property LazyByteDelay : integer
read FLazyByteDelay write tmSetLazyByteDelay
default adc_TermLazyByteDelay;
property LazyTimeDelay : integer
read FLazyTimeDelay write tmSetLazyTimeDelay
default adc_TermLazyTimeDelay;
property MouseSelect : Boolean {!!.03}
read FMouseSelect write tmSetMouseSelect {!!.03}
default adc_TermMouseSelect; {!!.03}
property PasteToPort : Boolean {!!.04}
read FPasteToPort write tmSetPasteToPort {!!.04}
default adc_TermPasteToPort; {!!.04}
property PasteToScreen : Boolean {!!.04}
read FPasteToScreen write tmSetPasteToScreen {!!.04}
default adc_TermPasteToScreen; {!!.04}
property Rows : integer
read tmGetRows write tmSetRows
default adc_TermRowCount;
property ScrollbackRows : integer
read tmGetScrollbackRows write tmSetScrollbackRows
default adc_TermScrollRowCount;
property Scrollback : boolean
read FScrollback write tmSetScrollback;
property UseLazyDisplay : boolean
read FUseLazyDisplay write tmSetUseLazyDisplay
default adc_TermUseLazyDisplay;
property WantAllKeys : boolean
read FWantAllKeys write tmSetWantAllKeys
default adc_TermWantAllKeys;
property FreezeScrollBack : boolean
read FFreezeScrollBack write tmSetFreezeScrollBack
default adc_FreezeScrollBack;
property OnCursorMoved : TAdTerminalCursorMovedEvent
read FOnCursorMoved write FOnCursorMoved;
{publish ancestor's properties}
{ section moved to TAdTerminal declaration }
end;
TAdTerminalEmulator = class(TApdBaseComponent)
private
FTerminalBuffer : TAdTerminalBuffer;
FCharSetMapping : TAdCharSetMapping;
FIsDefault : boolean;
FKeyboardMapping : TAdKeyboardMapping;
FParser : TAdTerminalParser;
FTerminal : TAdCustomTerminal;
{saved cursor details}
FSavedAttrs : TAdTerminalCharAttrs;
FSavedBackColor : TColor;
FSavedCharSet : byte;
FSavedCol : integer;
FSavedForeColor : TColor;
FSavedRow : integer;
FOnProcessChar : TAdOnProcessChar; {!!.04}
FCommandList : TAdEmuCommandList; {!!.04}
protected
{property access methods}
function teGetNeedsUpdate : boolean; virtual;
procedure teSetTerminal(aValue : TAdCustomTerminal); virtual;
{overridden ancestor methods}
procedure Notification(AComponent : TComponent;
Operation : TOperation); override;
{new virtual methods}
procedure teClear; virtual;
procedure teClearAll; virtual;
procedure teSendChar (aCh : char; aCanEcho : boolean; {!!.04}
CharSource : TAdCharSource ); virtual; {!!.04}
{Cursor Movement Methods}
procedure teHandleCursorMovement (Sender : TObject;
Row : Integer;
Col : Integer);
{ Command methods }
procedure teClearCommandList; {!!.04}
procedure teProcessCommand (Command : TAdEmuCommand; {!!.04}
Params : TAdEmuCommandParams); {!!.04}
procedure teProcessCommandList (CommandList : TAdEmuCommandList);{!!.04}
property TerminalBuffer : TAdTerminalBuffer {!!.04}
read FTerminalBuffer write FTerminalBuffer; {!!.04}
public
constructor Create(aOwner : TComponent); override;
destructor Destroy; override;
procedure BlinkPaint(aVisible : boolean); virtual;
procedure ExecuteTerminalCommands (CommandList : TAdEmuCommandList);{!!.04}
function HasBlinkingText : boolean; virtual;
procedure KeyDown(var Key : word; Shift: TShiftState); virtual;
procedure KeyPress(var Key : AnsiChar); virtual;
procedure LazyPaint; virtual;
procedure Paint; virtual;
procedure ProcessBlock(aData : pointer; aDataLen : longint; {!!.04}
CharSource : TAdCharSource); virtual; {!!.04}
procedure GetCursorPos(var aRow, aCol : Integer); virtual;
{read-only properties for low-level objects}
property Buffer : TAdTerminalBuffer
read FTerminalBuffer;
property CharSetMapping : TAdCharSetMapping
read FCharSetMapping;
property KeyboardMapping : TAdKeyboardMapping
read FKeyboardMapping;
property Parser : TAdTerminalParser
read FParser;
property NeedsUpdate : boolean
read teGetNeedsUpdate;
property OnProcessChar : TAdOnProcessChar {!!.04}
read FOnProcessChar write FOnProcessChar; {!!.04}
published
property Terminal : TAdCustomTerminal
read FTerminal write teSetTerminal;
end;
TAdTerminal = class(TAdCustomTerminal)
published
{ these properties moved here from TAdCustomTerminal declaration}
property Active;
property AutoCopy; {!!.03}
property AutoScrollback; {!!.03}
property BlinkTime;
property BorderStyle;
property Capture;
property CaptureFile;
property Columns;
property ComPort;
property CursorType;
property FollowCursor; {!!.03}
property HalfDuplex;
property HideScrollbars; {!!.03}
property LazyByteDelay;
property LazyTimeDelay;
property MouseSelect; {!!.03}
property PasteToPort; {!!.04}
property PasteToScreen; {!!.04}
property Rows;
property ScrollbackRows;
property Scrollback;
property UseLazyDisplay;
property WantAllKeys;
property FreezeScrollBack;
property OnCursorMoved;
{publish ancestor's properties}
property Align;
property Color;
property Ctl3D;
property Emulator;
property Enabled;
property Font;
property Height;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -