Главная страница
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.032 c
15-1202350486
tButton
2008-02-07 05:14
2008.03.30
а кто форумом занимается?


15-1202877339
Xmen
2008-02-13 07:35
2008.03.30
Выбор книги.


2-1204533659
Chorniy
2008-03-03 11:40
2008.03.30
Запустить процедуру в чужом процессе


2-1204105403
DelphiN!
2008-02-27 12:43
2008.03.30
SQL с использованием цыклов и переменных


3-1194552532
БарЛог
2007-11-08 23:08
2008.03.30
Помогите составить SQL-запрос