Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перемещение по картинкам


switch ©   (2008-03-02 19:07:00) 

На форме есть несколько миникартинок, при нажатии на каждую срабатывает определенная процедура.
procedure TgalForm.Image1Click(Sender: TObject);
begin
 ...
end;

procedure TgalForm.Image2Click(Sender: TObject);
begin
...
end;
Добавила на форму две кнопки Next, Prev.
Можно ли сделать чтобы при нажатии на эти кнопки присходило перемещение по изображениям, то есть перемещение по процедурам?


Германн   (2008-03-02 21:08:00) [1]


> switch   (02.03.08 21:02) [6]
>
> ListImage
> А как создать этот список?

ListImage:=TStringList.Create;
ListImage.AddObject('This is the FirstImage',Image1);


switch   (2008-03-02 21:02:00) [2]

ListImage
А как создать этот список?
Просто никогда не работала с объектами класса TImage...:(


switch   (2008-03-02 20:39:00) [3]


> Что значит разные?

В  смысле нажатие на каждой кнопке приводит к разным действиям.


> Inc(CurrentImage); TImage(ListImage.Object[CurrentImage]).
> OnClick(ListImage.Object[CurrentImage]);

А вот этот вариант мне подходит -спасибо!!!


{RASkov}   (2008-03-02 20:20:00) [4]

> [3] switch   (02.03.08 20:02)

Что значит разные? Может и разные.... тогда нет смысла в общем обработчике....
Тогда обработчик кнопки Next, например, будет так:
procedure TgalForm.ButtonNextClick(Sender: TObject);
begin
...
Inc(CurrentImage);
TImage(ListImage.Object[CurrentImage]).OnClick(ListImage.Object[CurrentImage]);
end;


switch   (2008-03-02 20:02:00) [5]

А если все процедуры разные? Забить их в
procedure TgalForm.AllImageClick(Sender: TObject);
при помощи case?


{RASkov}   (2008-03-02 19:17:00) [6]

> ListImage: TStringList; //в Object храни ссылки на Image'ы

А в строках можно хранить описание картинки....
Как вариант, можно просто TList... еще лучше TObjectList из Contnrs.pas..... ну или array...


{RASkov}   (2008-03-02 19:15:00) [7]

> [0] switch   (02.03.08 19:07)

Ты что-то напутала...
Попробуй вот такой вариант:
Сделать общий обработчик OnClick внутри которого "картинку" определять по Sender'у.
procedure TgalForm.AllImageClick(Sender: TObject);
begin
 ...TImage(Sender)...
end;

Сами "картинки" помести в список...
ListImage: TStringList; //в Object храни ссылки на Image'ы
Ну и вызов по кнопкам будет нечто так:
procedure TgalForm.ButtonNextClick(Sender: TObject);
begin
...
 Inc(CurrentImage);
 AllImageClick(TImage(ListImage.Object[Current]);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо