Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.30;
Скачать: CL | DM;

Вниз

Перемещение по картинкам   Найти похожие ветки 

 
switch   (2008-03-02 19:07) [0]

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

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


 
{RASkov} ©   (2008-03-02 19:15) [1]

> [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;


 
{RASkov} ©   (2008-03-02 19:17) [2]

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

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


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

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


 
{RASkov} ©   (2008-03-02 20:20) [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:39) [5]


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

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


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

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


 
switch   (2008-03-02 21:02) [6]

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


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


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

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



Страницы: 1 вся ветка

Текущий архив: 2008.03.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.101 c
2-1204740634
webSQLNeederr
2008-03-05 21:10
2008.03.30
Что то я туплю. Как создать папку средствами Делфи?


6-1183656730
Тохер
2007-07-05 21:32
2008.03.30
Как приатачить файл в почту через Инди IdSMTP


2-1204746299
e.1it
2008-03-05 22:44
2008.03.30
action


15-1203169723
Andy BitOff
2008-02-16 16:48
2008.03.30
Выбираем DVD-player


15-1203061536
DVM
2008-02-15 10:45
2008.03.30
Какой Linux мне поставить?