>
> Image1.Show;
>end;
Здесь мы просто открываем диалоговое окно выбора рисунка, и, если пользователь выбрал рисунок, то загружаем его в компонент Image1 и отображаем на форме.
Обработчик события OnClick для пункта меню Файл→Сохранить:
>procedure TForm1.N3Click(Sender: TObject);
>begin
> if Save1.Execute then //сохранение рисунка
> Image1.Picture.SaveToFile(Save1.FileName)
> else ShowMessage('Рисунок не был сохранен!');
>end;
Здесь мы открываем диалоговое окно сохранения рисунка, и, если пользователь выбрал место сохранения файла, извлекаем этот путь (свойство Save1.FileName) и сохраняем отображаемый в данный момент рисунок.
Обработчик события OnClick для пункта меню Файл→Выход:
>procedure TForm1.N5Click(Sender: TObject);
>begin
> Halt; //завершение работы программы
>end;
Обработчик события OnClick для пункта меню Правка→Очистить:
>procedure TForm1.N7Click(Sender: TObject);
>begin
> Image1.Hide; //прячем рисунок
>end;
Единственное, чего не достает этой программе, — это возможность открывать с ее помощью рисунки в файл-менеджерах. Реализуем эту возможность, добавив следующий код в обработчик события OnCreate главной фoрмы.
>procedure TForm1.FormCreate(Sender: TObject);
>var
> Str:String; //путь к файлу, который поступил как параметр
> i:Integer;
>begin
> if (ParamCount > 0)
> then //если на вход программы поступил параметр
> begin
> //составляем путь к файлу по символам
> Str:= ParamStr(1);
> for i:= 2 to ParamCount do Str:= Str + ' ' + ParamStr(i);
> Image1.Picture.LoadFromFile(str); //загружаем рисунок
> Image1.Show; //показываем рисунок
> end;
>end;
При создании формы выполняется проверка: запускается ли программа с параметрами. Если на вход поступили параметры, то определяем путь к рисунку и отображаем его на форме. Программа просмотра рисунков в действии представлена на рис. 6.4.
Рис. 6.4. Программа просмотра рисунков в действии
Полный исходный код модуля
Полный исходный код модуля программы просмотра рисунков представлен в листинге 6.1.
Листинг 6.1. Модуль программы просмотра рисунков
>unit Unit1;
>interface
>uses
> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls;
>type TForm1 = class(TForm)
> Image1: TImage;
> MainMenu1: TMainMenu;
> N1: TMenuItem;
> N2: TMenuItem;
> N3: TMenuItem;
> N4: TMenuItem;
> N5: TMenuItem;
> N6: TMenuItem;
> N7: TMenuItem;
> Open1: TOpenDialog;
> Save1: TSaveDialog;
> procedure FormCreate(Sender: TObject);
> procedure N2Click(Sender: TObject);
> procedure N3Click(Sender: TObject);
> procedure N5Click(Sender: TObject);
> procedure N7Click(Sender: TObject);
>private
> { Private declarations }
>public
> { Public declarations }
>end;
>var
> Form1: TForm1;
>implementation
>{$R *.dfm}
>procedure TForm1.FormCreate(Sender: TObject);
>var
> Str: String; //путь к файлу, который поступил как параметр
> i:Integer;
>begin
> if (ParamCount > 0)
> then //если на вход программы поступил параметр
> begin
> //составляем путь к файлу по символам
> Str:= ParamStr(1) ;
> for i:=2 to ParamCount do Str:= Str + ' ' + ParamStr(i);
> Image1.Picture.LoadFromFile(str); //загружаем рисунок
> Image1.Show; //показываем рисунок
> end;
>end;
>procedure TForm1.N2Click (Sender: TObject);
>begin
> //начинаем обзор с текущей папки
> Open1.InitialDir:= GetCurrentDir;
> //открываем диалоговое окно выбора файла
> if Open1.Execute then begin
> //загружаем выбранный рисунок
> Image1.Picture.LoadFromFile(Open1.FileName);
> Image1.Show; //показываем рисунок на форме
> end
> else //Если рисунок не был выбран
> ShowMessage('Вы не выбрали рисунок!');
> Image1.Show;
>end;
>procedure TForm1.N3Click(Sender: TObject);
>begin
> if Save1.Execute then //сохранение рисунка
> Image1.Picture.SaveToFile(Save1.FileName)
> else ShowMessage('Рисунок не был сохранен!');
>end;
>procedure TForm1.N5Click(Sender: TObject);
>begin
> Halt; //выход из программы
>end;
>procedure TForm1.N7Click(Sender: TObject);
>begin
> Image1.Hide; //прячем рисунок
>end;
>end.
⊚ Все файлы проекта и исполняемый файл рассмотренной программы находятся на прилагаемом к книге компакт-диске в папке Chapter_06.