![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перемещение по картинкам
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;