Простое приложение для просмотра графических файлов


Вы создали приложение, в котором на форме отображается выбранная вами в процессе проектирования картинка. Вы можете легко превратить его в более интересное приложение, в котором пользователь сможет просматривать и загружать любые графические файлы. Для этого достаточно перенести на форму компонент OpenPictureDialog, расположенный в библиотеке на странице Dialogs и вызывающий диалоговое окно открытия и предварительного просмотра изображения (рис.2), а также кнопку, запускающую просмотр или меню с единственным разделом Файл.
А теперь вам осталось написать всего один оператор в обработчике щелчка на кнопке или на разделе меню:

if (OpenPictureDialogl->Execute())
Imagel->Picture->LoadFromFile(OpenPictureDialogl->FileName);

Этот оператор загружает в свойство Picture компонента Image1 файл, выбранный в диалоге пользователем. Выполните свое приложение и проверьте его в работе. Щелкая на кнопке вы можете выбрать любой графический файл и загрузить его в компонент Image1.
В таком приложении есть один недостаток — изображения могут быть разных размеров и их положение на форме или будет несимметричным, или они не будут помещаться в окне. Это легко изменить, заставив форму автоматически настраиваться на размеры изображения. Для этого надо установить в компоненте Image1 свойство AutoSize равным true, а приведенный ранее оператор изменить следующим образом:

if (OpenPictureDialogl~>Execute())
{
Imagel->Picture->LoadFromFile(OpenPictureDialogl->FileName);
Forml->ClientHeight = Imagel->Height + 10;
Imagel->Top = Forml->ClientRect.Top + (Forml->ClientHeight — Imagel->Height) / 2;
Forml->ClientWidth = Iraagel->Width + 10;
Imagel->Left = Forral->ClientRect.Left +(Forml->ClientWidth — Imagel->Width) / 2;
}

В этом коде размеры клиентской области формы устанавливаются несколько больше размеров компонента Imagel, которые в свою очередь адаптируются к размеру картинки благодаря свойству AutoSize.
Запустите теперь ваше приложение, и вы увидите, что при различных размерах изображения ваше приложение выглядит отлично.

Загрузка...