📄 fmain.pas
字号:
unit FMain;
interface
uses
Windows, Messages, Classes, Graphics, Controls, Forms, Dialogs, ToolWin,
ImgList, ActnList, StdActns, ComCtrls, ExtCtrls, AppEvnts, Menus;
type
TFrmMain = class(TForm)
Images: TImageList;
ActFileOpen: TFileOpen;
ActFileExit: TFileExit;
StatusBar: TStatusBar;
ApplicationEvents: TApplicationEvents;
ActWindowClose: TWindowClose;
ActWindowCascade: TWindowCascade;
ActWindowTileHorizontal: TWindowTileHorizontal;
ActWindowTileVertical: TWindowTileVertical;
ActWindowMinimizeAll: TWindowMinimizeAll;
ActFileSaveAs: TAction;
ActFileTestCodecs: TAction;
Actions: TActionList;
MainMenu: TMainMenu;
MenuFile: TMenuItem;
MenuFileOpen: TMenuItem;
MenuFileSaveAs: TMenuItem;
N1: TMenuItem;
MenuFileTestCodecs: TMenuItem;
N2: TMenuItem;
MenuFileExit: TMenuItem;
MenuWindow: TMenuItem;
MenuWindowClose: TMenuItem;
N3: TMenuItem;
MenuWindowCascade: TMenuItem;
MenuWindowTileHorizontally: TMenuItem;
MenuWindowTileVertically: TMenuItem;
N4: TMenuItem;
MenuWindowMinimizeAll1: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure ActFileOpenAccept(Sender: TObject);
procedure ApplicationEventsHint(Sender: TObject);
procedure ActFileSaveAsExecute(Sender: TObject);
procedure ActFileTestCodecsExecute(Sender: TObject);
procedure ActionsUpdate(Action: TBasicAction; var Handled: Boolean);
private
{ Private declarations }
procedure CMShowingChanged(var Message: TMessage); message CM_SHOWINGCHANGED;
procedure OpenFile(const Filename: String);
public
{ Public declarations }
end;
var
FrmMain: TFrmMain;
implementation
{$R *.dfm}
uses
EvBFileFormatPNM, EvBFileFormatJP2, EvBFileFormatJPG, EvBFileFormatAIC,
EvBGraphics, FImage, FSave, FTester;
procedure TFrmMain.FormCreate(Sender: TObject);
begin
ActFileOpen.Dialog.Filter := TEvBBitmap.GetFilterString([fsoAllSupportedFiles]);
end;
procedure TFrmMain.ActFileOpenAccept(Sender: TObject);
begin
OpenFile(ActFileOpen.Dialog.FileName);
end;
procedure TFrmMain.OpenFile(const Filename: String);
var
Frm: TFrmImage;
Bitmap: TEvBBitmap;
begin
Bitmap := TEvBBitmap.Create;
Screen.Cursor := crHourGlass;
try
Bitmap.LoadFromFile(Filename);
Frm := TFrmImage.Create(Application);
Frm.Initialize(Bitmap,Filename);
finally
Bitmap.Free;
Screen.Cursor := crDefault;
end;
end;
procedure TFrmMain.CMShowingChanged(var Message: TMessage);
begin
inherited;
if Showing and (ParamCount > 0) then
OpenFile(ParamStr(1));
end;
procedure TFrmMain.ApplicationEventsHint(Sender: TObject);
begin
StatusBar.SimpleText := Application.Hint;
end;
procedure TFrmMain.ActFileSaveAsExecute(Sender: TObject);
var
Frm: TFrmImage;
begin
if Assigned(ActiveMDIChild) then begin
Frm := (ActiveMDIChild as TFrmImage);
SaveFileDialog(Frm.Image.Picture.Bitmap);
end;
end;
procedure TFrmMain.ActFileTestCodecsExecute(Sender: TObject);
var
Frm: TFrmImage;
begin
if Assigned(ActiveMDIChild) then begin
Frm := (ActiveMDIChild as TFrmImage);
AlgorithmTesterDialog(Frm.Image.Picture.Bitmap);
end;
end;
procedure TFrmMain.ActionsUpdate(Action: TBasicAction;
var Handled: Boolean);
begin
ActFileSaveAs.Enabled := Assigned(ActiveMDIChild);
ActFileTestCodecs.Enabled := Assigned(ActiveMDIChild);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -