📄 uformview.pas
字号:
procedure mnuViewZoomOutClick(Sender: TObject);
procedure mnuViewZoomOriginalClick(Sender: TObject);
procedure mnuViewImageFitWindowClick(Sender: TObject);
procedure ViewerFileUnload(Sender: TObject);
procedure ViewerFileLoad(Sender: TObject);
procedure mnuViewShowNavClick(Sender: TObject);
procedure mnuHelpWebPluginsClick(Sender: TObject);
procedure mnuViewNavIconsClick(Sender: TObject);
procedure mnuViewNavListClick(Sender: TObject);
procedure mnuViewNavDetailsClick(Sender: TObject);
procedure mnuViewNavThumbClick(Sender: TObject);
procedure mnuViewMediaPlayPauseClick(Sender: TObject);
procedure mnuViewMediaVolumeUpClick(Sender: TObject);
procedure mnuViewMediaVolumeDownClick(Sender: TObject);
procedure mnuViewMediaVolumeMuteClick(Sender: TObject);
procedure mnuViewNavHorizTreeClick(Sender: TObject);
procedure mnuOptionsEditIniHistoryClick(Sender: TObject);
procedure mnuFileRenameClick(Sender: TObject);
procedure mnuHelpContentsClick(Sender: TObject);
procedure mnuFileCopyClick(Sender: TObject);
procedure mnuFileMoveClick(Sender: TObject);
procedure mnuHelpRegisterClick(Sender: TObject);
procedure mnuOptionsSavePosClick(Sender: TObject);
procedure mnuFilePropClick(Sender: TObject);
procedure mnuViewImageNegativeClick(Sender: TObject);
procedure mnuViewImageFlipVertClick(Sender: TObject);
procedure mnuViewImageFlipHorzClick(Sender: TObject);
procedure mnuViewTextKOI8Click(Sender: TObject);
procedure TntFormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure mnuViewTextEBCDICClick(Sender: TObject);
procedure mnuViewTextMacClick(Sender: TObject);
procedure mnuViewTextEncMenuClick(Sender: TObject);
procedure mnuViewTextEncPrevClick(Sender: TObject);
procedure mnuViewTextEncNextClick(Sender: TObject);
procedure mnuViewTextISOClick(Sender: TObject);
procedure StatusBar1Click(Sender: TObject);
procedure mnuViewTextNonPrintClick(Sender: TObject);
procedure mnuViewTextTailClick(Sender: TObject);
procedure mnuEditCopyToFileClick(Sender: TObject);
procedure mnuRecent0MeasureItem(Sender: TObject; ACanvas: TCanvas;
var Width, Height: Integer);
procedure mnuRecent0DrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; Selected: Boolean);
procedure mnuEditFindPrevClick(Sender: TObject);
procedure mnuUserTool1Click(Sender: TObject);
procedure mnuUserTool2Click(Sender: TObject);
procedure mnuUserTool3Click(Sender: TObject);
procedure mnuUserTool4Click(Sender: TObject);
procedure mnuUserTool5Click(Sender: TObject);
procedure mnuUserTool6Click(Sender: TObject);
procedure mnuUserTool7Click(Sender: TObject);
procedure mnuUserTool8Click(Sender: TObject);
procedure mnuViewImageShowEXIFClick(Sender: TObject);
procedure mnuViewMediaLoopClick(Sender: TObject);
procedure mnuEditPasteClick(Sender: TObject);
procedure mnuFileEmailClick(Sender: TObject);
procedure mnuViewModeMenuClick(Sender: TObject);
procedure mnuFileCopyFNClick(Sender: TObject);
private
{ Private declarations }
OpenDialog1: TTntOpenDialog;
SaveDialog1: TTntSaveDialog;
//Ini
FIniName: WideString;
FIniNameHist: WideString;
FIniNameLS: AnsiString;
FIni: TATIniFile;
FIniHist: TATIniFile;
FIniSave: TATIniFileSave;
FIniHistSave: TATIniFileSave;
//Fields
FFileName: WideString;
FFileFolder: WideString;
FFileFolderSave: WideString;
FPicture: TPicture;
FIconsName: string;
FSingleInstance: boolean;
FShowMenu: boolean;
FShowStatusBar: boolean;
FShowStatusBarOnMedia: boolean;
FShowFullScreen: boolean;
FShowNoFindError: boolean;
FShowNoFindReset: boolean;
FShowFindSelection: boolean;
FFileNextMsg: boolean;
FFileMoveDelay: integer;
FViewerTitle: integer;
FViewerMode: integer; //0, 1..8
FViewerOptPage: integer;
FFindHistory: TTntStringList;
FFindText: WideString;
FFindWords: boolean;
FFindCase: boolean;
FFindBack: boolean;
FFindHex: boolean;
FFindRegex: boolean;
FFindMLine: boolean;
FFindOrigin: boolean;
FGotoMode: TViewerGotoMode;
FSaveRecents: boolean;
FSavePosition: boolean;
FSaveSearch: boolean;
FSaveFolder: boolean;
FPluginsTotalcmdVar: boolean;
FPluginsHideKeys: boolean;
FMediaAutoAdvance: boolean;
FMediaFitWindow: boolean;
FImageLabelVisible: boolean;
FImageLabelColor: TColor;
FImageLabelColorErr: TColor;
FQuickViewMode: boolean; //Set by /Q cmdline param
FNoTaskbarIcon: boolean;
FBoundsRectOld: TRect;
FActivateBusy: boolean;
//Other fields
FFileList: TATFileList;
FRecentList: TTntStringList;
FToolbarList: TToolbarList;
FRecentMenus: TRecentMenus;
FRecentMenusBar: TRecentMenus;
FUserTools: TATUserTools;
FFormFindProgress: TForm;
FPluginsList: TPluginsList;
FPluginsNum: integer;
{$ifdef CMDLINE}
FStartupPosDo: boolean;
FStartupPosLine: boolean;
FStartupPosPercent: boolean;
FStartupPos: Int64;
FStartupPrint: boolean;
{$endif}
{$ifdef PRO}
{$I Pro\ClassPrivateFields.inc}
{$endif}
procedure InitConfigs;
procedure SetIconsName(const Name: string);
function IsImageListSaved: boolean;
function SCollapseVars(const fn: string): string;
function SelTextShort: WideString;
function TextNotSelected: boolean;
procedure ViewerStatusTextChange(Sender: TObject; const Text: WideString);
procedure ViewerTitleChange(Sender: TObject; const Text: WideString);
procedure UpdateOptions(AUpdateFitWindow: boolean = false);
procedure UpdateImageLabel;
procedure UpdateStatusBar;
procedure UpdateCaption(const APluginName: string = '';
ABeforeLoading: boolean = true;
const AWebTitle: WideString = '');
procedure UpdateFitWindow(AUseOriginalImageSizes: boolean);
procedure ReloadFile;
procedure CloseFile(AKeepList: boolean = false);
procedure LoadOptions;
procedure SavePosition;
procedure SaveOptions1;
procedure SaveOptions2;
procedure LoadMargins;
procedure SaveMargins;
procedure LoadUserTools;
procedure SaveUserTools;
procedure ApplyUserTools;
procedure LoadToolbar;
procedure SaveToolbar;
procedure ApplyToolbar;
procedure ApplyToolbarCaptions;
procedure InitPlugins;
procedure LoadPluginsOptions;
procedure SavePluginsOptions;
procedure ResizePlugin;
function PluginPresent(const AFileName: TWlxFilename): boolean;
function RecentItemIndex(Sender: TObject): integer;
{$ifdef CMDLINE}
function ReadCommandLine: WideString;
{$endif}
procedure AppOnActivate(Sender: TObject);
procedure AppOnMessage(var Msg: TMsg; var Handled: boolean);
procedure LoadShortcuts;
procedure SaveShortcuts;
procedure LoadRecents;
procedure SaveRecents;
procedure ApplyRecents;
procedure ClearRecents;
procedure LoadSearch;
procedure SaveSearch;
procedure ClearSearch;
procedure AddRecent(const S: WideString);
function GetShowOnTop: boolean;
procedure SetShowOnTop(AValue: boolean);
procedure SetShowFullScreen(AValue: boolean);
function GetShowToolbar: boolean;
procedure SetShowToolbar(AValue: boolean);
function GetShowBorder: boolean;
procedure SetShowBorder(AValue: boolean);
procedure SetShowMenu(AValue: boolean);
function GetShowMenuIcons: boolean;
procedure SetShowMenuIcons(AValue: boolean);
function GetEnableMenu: boolean;
procedure SetEnableMenu(AValue: boolean);
procedure DoUserToolActions1(const Tool: TATUserTool);
procedure DoUserToolActions2(const Tool: TATUserTool);
function ParseToolMacros(const Params: WideString): WideString;
procedure SearchPrepareAndStart;
procedure InitFormFindProgress;
procedure InitPreview;
function GetStatusVisible: boolean;
function GetFollowTail: boolean;
procedure SetFollowTail(AValue: boolean);
procedure ViewerOptionsChange(ASender: TObject);
procedure UpdateShortcuts;
procedure DoFindFirst;
procedure DoFindNext(AFindPrevious: boolean = false);
procedure DoUserTool(AIndex: integer);
function GetImageBorderWidth: Integer;
function GetImageBorderHeight: Integer;
function GetImageWidthActual: Integer;
function GetImageHeightActual: Integer;
function GetImageWidthActual2: Integer;
function GetImageHeightActual2: Integer;
function GetImageScrollVisible: Boolean;
procedure SetImageScrollVisible(AValue: Boolean);
property MediaFitWindow: boolean read FMediaFitWindow write FMediaFitWindow;
property ImageBorderWidth: integer read GetImageBorderWidth;
property ImageBorderHeight: integer read GetImageBorderHeight;
property ImageWidthActual: integer read GetImageWidthActual;
property ImageWidthActual2: integer read GetImageWidthActual2;
property ImageHeightActual: integer read GetImageHeightActual;
property ImageHeightActual2: integer read GetImageHeightActual2;
property ImageScrollVisible: boolean read GetImageScrollVisible write SetImageScrollVisible;
{$ifdef PRO}
{$I Pro\ClassPrivateProc.inc}
{$endif}
public
{ Public declarations }
function LoadArc(const AFileName: WideString): boolean;
function LoadFile(
const AFileName: WideString;
AKeepList: boolean = false;
APicture: TPicture = nil): boolean;
property FileName: WideString read FFileName write FFileName;
property FileFolder: WideString read FFileFolder write FFileFolder;
property Picture: TPicture read FPicture write FPicture;
property IconsName: string read FIconsName write SetIconsName;
property ShowOnTop: boolean read GetShowOnTop write SetShowOnTop;
property ShowFullScreen: boolean read FShowFullScreen write SetShowFullScreen;
property ShowMenu: boolean read FShowMenu write SetShowMenu;
property ShowStatusBar: boolean read FShowStatusBar write FShowStatusBar;
property ShowMenuIcons: boolean read GetShowMenuIcons write SetShowMenuIcons;
property ShowToolbar: boolean read GetShowToolbar write SetShowToolbar;
property ShowBorder: boolean read GetShowBorder write SetShowBorder;
property EnableMenu: boolean read GetEnableMenu write SetEnableMenu;
property MediaAutoAdvance: boolean read FMediaAutoAdvance write FMediaAutoAdvance;
property FollowTail: boolean read GetFollowTail write SetFollowTail;
{$ifdef PRO}
{$I Pro\ClassPublic.inc}
{$endif}
protected
{ Protected declarations }
procedure WMCommand(var Message: TMessage); message WM_COMMAND; //To process WM_COMMAND sent by plugins
procedure WMActivate(var Msg: TWMActivate); message WM_ACTIVATE; //To focus active embedded control
{$ifdef CMDLINE}
procedure WMCopyData(var Msg: TWMCopyData); message WM_COPYDATA; //To process WM_COPYDATA from external application
{$endif}
end;
var
FormViewUV: TFormViewUV;
//Functions to use in 3rd-party applications:
procedure OpenUniversalViewer(const AFileName: WideString; APicture: TPicture = nil);
procedure OpenUniversalViewerOptions;
implementation
uses
ShellAPI, TntSysUtils, Consts,
ATxSProc, ATxSHex, ATxFProc, ATxRegistry,
ATxParamStr, ATxMsgProc, ATxVersionInfo,
ATViewerMsg, ATxMsg, ATxShellExtension, ATxUtils, ATxIconsProc,
ATStreamSearch, ATImageBox, WLXPlugin,
ATxUtilMail, ATxUnpack_Dll,
ATxClipboard,
{$ifdef PREVIEW}
ATPrintPreview,
ATxPrintProc,
{$endif}
{$ifndef COMPILER_6_UP}
SystemUTF8,
{$endif}
UFormViewFindText, UFormViewFindProgress, UFormViewOptions,
UFormViewGoto, UFormViewToolbar, UFormPluginsOptions,
{$ifdef PRO}
{$I Pro\ClassUses2.inc}
UFormViewReg,
UFormViewRename,
{$endif}
{$ifdef EXIF}
UFormViewEXIF,
{$endif}
UFormViewEdit,
UFormViewAbout;
{$R *.DFM}
{ Constants }
{$I ViewerIni.inc}
const
CR = #13#10;
cViewerCompATV = 'ATViewer' {$ifdef PREVIEW} + ', ATPrintPreview' {$endif} + '
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -