Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2011, 12:37   #1
VNest
 
Аватар для VNest
 
Регистрация: 31.01.2011
Сообщений: 3
По умолчанию Эскизы картинок windows на форме

Здравствуйте, помогите пожалуйста, кто знает как отобразить ЭСКИЗЫ КАРТИНОК на форме Дельфи из определенной папки windows. При этом количество картинок - это переменный параметр...
За ранее спасибо!
VNest вне форума Ответить с цитированием
Старый 01.02.2011, 12:42   #2
BeerDrinker
Пользователь
 
Аватар для BeerDrinker
 
Регистрация: 30.01.2011
Сообщений: 16
По умолчанию

Вот простейший пример вывода произвольного числа картинок из заданной папки.
для выбора папки использовался TDirectoryListBox, для отображения картинок с прокруткой TScrollBox.
Обращаю особое внимание на модуль JPEG, без него картинки в формате jpg в timage загружаться не будут!
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, FileCtrl, jpeg;

type
  TForm1 = class(TForm)
    Button1: TButton;
    ScrollBox1: TScrollBox;
    dir: TDirectoryListBox;

    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  n: integer; //счетчик картинок
  x: integer = 10; //координата х
  y: integer = 10;//координата у

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  searchResult: TSearchRec;
  img: timage; 

begin
n:=0;
  // ищем все jpg файлы  в выбраном каталоге
  if FindFirst(dir.directory + '\*.jpg', faAnyFile, searchResult) = 0 then
  begin
    repeat
      inc(n); //увеличиваем счеткчик картинок
      img := timage.Create(Form1); //создаем новый объект Timage
      img.Parent := ScrollBox1; //он будет располагаться в данном компоненте
      img.Show;
      img.Name := 'Image' + inttostr(n);//присваиваем уникальное имя
      img.Left := x; //задаем координаты
      img.Top := y;
      img.Center := true;  //центируем
      img.Proportional := true; //делаем пропорциональным
      img.Stretch := true; //растягиваем
      img.Width := 150; // на ширину в 150 пикс
      img.Height := 150;//и высоту в 150 пикс
      img.Picture.LoadFromFile(dir.directory + '\' + searchResult.Name);// загружаем картинку
      img.Visible := true;//объект видимый

      inc(x, 160); //смещаем хкоординату
      if x > 490 then //в строчке будет 4 картинки, если х координата больше,то
      begin
        x := 10;   // добавляем
        inc(y, 160);// новую строчку
      end;
    until FindNext(searchResult) <> 0;
    FindClose(searchResult);
  end;

end;

end.
BeerDrinker вне форума Ответить с цитированием
Старый 26.04.2011, 16:34   #3
VNest
 
Аватар для VNest
 
Регистрация: 31.01.2011
Сообщений: 3
По умолчанию

Cпасибо! Все супер получилось!!!
VNest вне форума Ответить с цитированием
Старый 26.04.2011, 16:40   #4
VNest
 
Аватар для VNest
 
Регистрация: 31.01.2011
Сообщений: 3
Смущение

Теперь такая у меня возникла проблема, мне надо каждый созданный объек (jpg картинки) обработать, но не знаю как это сделать... т.е. мне нужно при наведении и при щелчке на объект в ScrollBox выводить необходимую информацию в memo. Плииииз помогите решить эту задачу!!!!
VNest вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Эскизы в ShellListView artemavd Общие вопросы Delphi 5 23.01.2015 23:03
создание картинок на форме maloun Общие вопросы Delphi 9 24.01.2011 19:04
Эскизы страниц Mitron Общие вопросы Delphi 1 10.02.2008 23:16
Отображение картинок или метафайлов на форме. Hellen Общие вопросы Delphi 3 19.02.2007 10:44