📄 unitsaveas.~pas
字号:
unit UnitSaveAs;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, FileCtrl, Buttons, ExtCtrls, MapXBase, MapXLib_TLB,
Spin;
type
TForm_SaveAs = class(TForm)
Label1: TLabel;
DriveComboBox1: TDriveComboBox;
DirectoryListBox1: TDirectoryListBox;
FileListBox1: TFileListBox;
Bevel1: TBevel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit1: TEdit;
ComboBox1: TComboBox;
btnOk: TBitBtn;
btnCancel: TBitBtn;
SpinEdit1: TSpinEdit;
SpinEdit2: TSpinEdit;
procedure FormShow(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure btnOkClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
private
FOperMap: TMapXObject;
{ Private declarations }
public
{ Public declarations }
property OperMap:TMapXObject read FOperMap write FOperMap;
end;
var
Form_SaveAs: TForm_SaveAs;
function GetImageFormatConfig(Map:TMapXObject; cfgStruct:PMapImageConfig):Boolean;
implementation
{$R *.dfm}
function GetImageFormatConfig(Map:TMapXObject; cfgStruct:PMapImageConfig):Boolean;
begin
with TForm_SaveAs.Create(nil) do
begin
try
OperMap:=Map;
Result:=ShowModal=mrOk;
if Result then
begin
cfgStruct.PaperUnit:=miUnitPoint;
cfgStruct.Width:=SpinEdit1.Value;
cfgStruct.Height:=SpinEdit2.Value;
cfgStruct.Format:=TMapImageFormat(ComboBox1.ItemIndex);
cfgStruct.FileName:=DirectoryListBox1.Directory+'\'+Edit1.Text+'.'+ComboBox1.Text;
end;
finally
Free;
end;
end;
end;
procedure TForm_SaveAs.FormShow(Sender: TObject);
begin
EDIT1.Text:='未命名';
SpinEdit1.Text:=IntToStr(OperMap.Width);
SpinEdit2.Text:=IntToStr(OperMap.Height);
combobox1.ItemIndex:=0;
directorylistbox1.Refresh;
edit1.SetFocus;
end;
procedure TForm_SaveAs.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#8]) then
begin
key:=#0;
end;
end;
procedure TForm_SaveAs.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
SpinEdit1.SetFocus;
end;
procedure TForm_SaveAs.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
SpinEdit2.SetFocus;
end;
procedure TForm_SaveAs.Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
btnOk.Click;
end;
procedure TForm_SaveAs.btnOkClick(Sender: TObject);
begin
if edit1.Text='' then
begin
application.MessageBox('请输入文件名称!','提示',mb_ok);
exit;
end;
if SpinEdit1.Text='' then
begin
application.MessageBox('请输入图象长度!','提示',mb_ok);
exit;
end;
if SpinEdit2.Text='' then
begin
application.MessageBox('请输入图象宽度!','提示',mb_ok);
exit;
end;
ModalResult:=mrok;
end;
procedure TForm_SaveAs.btnCancelClick(Sender: TObject);
begin
ModalResult:=mrcancel;
Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -